복제 원인 분류

복제가 보이지 않으면 권한과 소유권부터 확인한다

서버에서 확정한 값만 복제되고, RPC는 액터 소유권과 실행 방향을 만족할 때만 의도한 위치에서 실행됩니다.

Spawn

서버 생성 확인

복제 액터는 서버에서 생성되어야 하며 bReplicates와 필요 시 이동 복제가 켜져 있어야 합니다.

State

변수 등록 확인

UPROPERTY(Replicated)만으로 끝나지 않습니다. DOREPLIFETIME 등록까지 있어야 합니다.

Owner

RPC 소유권 확인

Client RPC는 소유 클라이언트에게 가고, Server RPC는 소유한 액터에서 호출될 때 안정적으로 전달됩니다.

OnRep

로컬 반영 분리

서버 값 변경과 클라이언트 표시 갱신을 나누면 사운드, UI, 이펙트가 중복 실행되는 일을 줄입니다.

클라이언트 값만 바뀜

로컬 변수 변경은 서버 상태가 아닙니다. Server RPC로 요청하고 서버에서 값을 확정합니다.

RPC가 무시됨

호출 방향과 액터 소유권이 맞지 않으면 함수 본문이 실행되지 않은 것처럼 보입니다.

모두에게 보여야 함

게임 상태는 변수 복제, 순간 효과는 Multicast나 각 클라이언트의 OnRep 반영으로 나눕니다.

복제 검수

서버 로그에서 값이 확정되고, 각 클라이언트에서 같은 값과 의도한 시각 효과가 한 번씩만 보이면 복제 경로가 안정된 것입니다.