Replication OnRep는 값 수신 뒤의 반응이다 서버 값 변경, 수명 등록, 조건 필터, 클라이언트 수신, OnRep 실행을 한 프레임처럼 착각하지 않는다.
판정 축 Server · Net Driver · Client 권한 있는 변경과 클라이언트 표시 갱신을 분리해 추적한다.
순서 엔진에서 일어나는 일 확인할 코드 흔한 오해
01 서버권한 값 변경 Authority가 있는 서버 인스턴스에서 복제 변수를 바꾼다. HasAuthority 분기와 실제 값 변경 위치 클라이언트 로컬 변경은 기준값이 아니다.
02 수명복제 등록 GetLifetimeReplicatedProps가 대상 필드를 등록한다. DOREPLIFETIME 설정과 조건 UPROPERTY만으로 항상 전송되지는 않는다.
03 조건대상 필터 Owner Only, Skip Owner 등이 클라이언트별 전송 여부를 정한다. 복제 조건과 소유자 지정 모든 플레이어가 같은 값을 받는다고 보지 않는다.
04 수신로컬 반영 클라이언트가 패킷을 받아 변수 값을 갱신한다. 초기값과 이전 값 비교 같은 값이면 기대한 알림이 없을 수 있다.
05 반응OnRep 실행 UI, 이펙트, 캐시 갱신을 RepNotify 함수에서 처리한다. OnRep 내부의 표시 전용 로직 서버 게임 규칙 실행 위치로 쓰지 않는다.