게임 실행 컨텍스트 동안 유지되며 레벨 전환 후에도 남는 데이터를 둡니다.
수명 주기
현재 로드된 월드와 액터 집합을 담습니다. 레벨 전환 시 많은 객체가 새로 만들어집니다.
Reflection + GC, 직렬화, 에디터 노출의 기반이 됩니다.
월드에 배치되거나 스폰되는 기본 게임플레이 객체입니다.
규칙과 공유 상태
승패 조건, 스폰 규칙, 기본 Pawn/Controller/HUD 클래스를 정합니다. GameMode는 클라이언트에 복제되지 않음.
점수, 라운드, 남은 시간처럼 모든 클라이언트가 알아야 하는 상태를 담습니다. GameState는 서버에서 클라이언트로 복제.
클라이언트 UI가 필요한 정보는 GameMode가 아니라 GameState나 PlayerState에 두는 편이 자연스럽습니다.
제어와 표현
PlayerController는 서버와 소유 클라이언트 중심으로 존재하며, 입력과 카메라, UI 명령을 게임 로직으로 바꾸고 Pawn을 Possess합니다.
월드 안에서 실제로 움직이는 플레이어 또는 AI 객체입니다.
메시, 카메라, 충돌, 사운드, 커스텀 기능을 Actor에 조립합니다.