UNREAL C++ · REPLICATION

복제 수단은 값의 성격으로 선택한다

오래 유지되는 게임 상태는 복제 변수로, 순간적인 요청이나 연출은 RPC로 나누면 서버 권한과 클라이언트 표현이 섞이지 않습니다.

01

공유 상태

체력, 점수, 인벤토리처럼 새로 접속한 클라이언트도 알아야 하는 값은 `UPROPERTY(Replicated)`로 둡니다.

DOREPLIFETIME COND_OwnerOnly
02

값 변화 후처리

복제된 값이 도착한 순간 UI, 사운드, 애니메이션을 갱신해야 한다면 `ReplicatedUsing`으로 `OnRep_`를 연결합니다.

RepNotify Client visual
03

클라이언트 요청

발사, 상호작용, 구매처럼 입력에서 시작되는 행동은 Server RPC로 보내고 서버의 `_Validate`와 권한 로직에서 확정합니다.

Server RPC WithValidation
04

단발 연출

파티클, 피격음, 채팅 표시처럼 상태로 오래 보관할 필요가 없는 이벤트는 Client 또는 NetMulticast RPC로 보냅니다.

Client RPC NetMulticast