Code Placement

게임플레이 코드는 수명, 권한, 대상 기준으로 배치한다

어떤 클래스가 더 익숙한지가 아니라, 데이터가 얼마나 오래 살아야 하고 누가 수정할 권한을 갖는지가 먼저다.

로직 위치 선택

lifetime authority visibility

UGameInstance

맵을 넘어 유지되는 설정, 세션, 진행 데이터를 둔다.

AGameMode

서버가 결정해야 하는 규칙, 스폰, 승패 흐름을 둔다.

GameState

점수, 라운드, 남은 시간처럼 모두가 보는 결과를 둔다.

PlayerController

입력, 카메라, UI 명령처럼 소유 플레이어 중심 로직을 둔다.

Pawn/Component

월드에서 움직이고 충돌하는 객체 기능을 조립한다.

수명 레벨 전환 뒤에도 필요한가
권한 서버만 결정해야 하는가
복제 클라이언트 UI가 봐야 하는가
대상 입력인지 월드 객체인지 나눈다
수명 권한 복제 위치
엔진 코드 흐름

클래스 구조는 상속 암기가 아니라 책임 배치표다. 수명과 네트워크 권한이 맞으면 나중에 멀티플레이와 UI가 덜 꼬인다.