Game Loop Ownership
클래스는 실행 시점과 데이터 수명으로 고른다
Actor, Pawn, Controller, Component는 역할 이름보다 언제 생성되고 누가 읽는지로 배치하면 기준이 분명해집니다.
수명
레벨, 플레이어, 액터, 컴포넌트 단위
권한
서버 결정, 클라이언트 입력, 복제 상태
비용
Tick, 등록, 해제, 참조 소유권
01
World 준비
GameMode가 기본 클래스와 규칙을 정합니다.
02
Possess
Controller가 Pawn 또는 Character를 제어합니다.
03
BeginPlay
Actor와 Component가 참조와 초기 상태를 준비합니다.
04
Tick
프레임마다 필요한 이동, 감지, 갱신만 수행합니다.
05
Read
UI와 다른 시스템이 상태를 읽고 표시합니다.
06
EndPlay
등록한 참조, 타이머, 이벤트를 정리합니다.
클래스별 책임 표
클래스
소유하는 것
읽는 곳
주의 신호
Actor
월드 위치, 컴포넌트 묶음
레벨, 충돌, 상호작용 로직
모든 기능이 Actor 하나에 몰림
Pawn
조종 가능한 실체와 입력 반응
PlayerController, AIController
Controller 없이 직접 입력을 처리함
Component
재사용 기능, 시각 요소, 센서
소유 Actor와 다른 시스템
수명 정리 없이 참조만 남음
좋음
시점으로 배치
생성, 제어, 읽기, 정리 시점이 보이면 클래스 선택이 자연스러워집니다.
확인
Tick 비용
매 프레임 필요한 일만 Tick에 남기고 이벤트로 옮길 수 있는지 봅니다.
주의
소유권 혼합
PlayerController와 Pawn이 같은 상태를 서로 수정하면 디버깅이 어려워집니다.