Transform과 월드 수명주기가 필요하면 AActor, 데이터면 UObject를 고른다
클래스 선택은 편한 이름보다 월드 존재, 생성 API, 참조 보관 방식으로 결정한다.
| 판단 질문 | AActor 쪽 신호 | UObject 쪽 신호 |
|---|---|---|
| 월드 존재 | 레벨에 놓이거나 SpawnActor로 생성된다 | 위치가 필요 없는 데이터와 전략 객체다 |
| 기능 요구 | Transform, Tick, Collision, Replication이 필요하다 | 직렬화와 GC 추적만 있으면 충분하다 |
| 생성 API | UWorld::SpawnActor 흐름을 따른다 | NewObject<T>(Outer)로 만든다 |
| 수명 관리 | Destroy와 EndPlay를 고려한다 | UPROPERTY 참조와 Outer가 생존을 결정한다 |
Actor는 편하지만 월드 등록 비용이 붙는다. 위치가 필요 없는 객체는 UObject부터 의심한다.