게임플레이 코드는 수명, 권한, 복제, 대상 기준으로 배치한다
익숙한 클래스에 넣는 것이 아니라 데이터가 얼마나 오래 살고 누가 수정할 권한을 갖는지로 정한다.
| 질문 | 예라면 둘 곳 | 아니면 볼 곳 |
|---|---|---|
| 레벨 밖에서도 유지되는가 | GameInstance | 레벨별 Actor나 GameState |
| 서버만 결정해야 하는가 | GameMode | 공유 결과는 GameState |
| 클라이언트 UI가 봐야 하는가 | GameState 또는 PlayerState | 서버 전용 규칙은 GameMode |
| 입력인지 월드 객체인지 | PlayerController / Pawn 또는 Component | 전역 규칙과 분리한다 |
수명과 권한이 맞으면 나중에 네트워크와 UI가 덜 흔들린다.