class decision

무엇을 만들지 정하면 생성 API와 수명 관리가 같이 정해진다

월드 존재, 액터에 붙는 기능 조각, 순수 데이터 객체를 먼저 나누고 소유자와 참조 유지 방식을 함께 결정한다.

선택 기준을 생성 코드로 바꾸기

UObject · Actor · Component
NewObject

데이터와 관리 객체

월드 위치가 필요 없는 인벤토리, 설정, 런타임 데이터는 UObject로 가볍게 둔다.

유지 UPROPERTY, TObjectPtr, Outer 정리 참조가 끊기면 GC 후보

CreateDefaultSubobject

액터의 기본 구성품

Mesh, Collision, Movement처럼 액터와 함께 태어날 기능은 생성자에서 기본 서브오브젝트로 만든다.

런타임 NewObject 후 RegisterComponent 소유 Actor가 컴포넌트 수명을 이끈다

SpawnActor

월드에 놓이는 대상

위치, 회전, 충돌, 복제, BeginPlay가 필요하면 World 컨텍스트에서 Actor를 스폰한다.

종료 Destroy 요청 후 유효성 확인 흐름 BeginPlay, Tick, EndPlay

요구 월드, 데이터, 기능
클래스 Actor, Component, Object
생성 API 위치 확인
참조 UPROPERTY 또는 Owner
정리 Destroy 또는 GC
수명 판단

Actor는 월드와 Destroy 흐름으로 보고, UObject는 참조 그래프와 GC로 본다. C++ raw pointer만 들고 있는 객체는 GC가 안전한 참조로 보지 않는다.