수명 판단 기준

클래스 선택: 월드 존재와 수명 관리 방식의 선택

UObject, Actor, Component는 모두 엔진 객체 시스템 안에 있지만 생성 위치, 소유자, 정리 신호가 다릅니다.

생성 API와 책임 범위

NewObject

UObject 데이터 객체

월드 트랜스폼이 필요 없는 인벤토리 모델, 설정, 런타임 데이터를 둡니다. 오래 유지하려면 Outer와 UPROPERTY 참조를 함께 설계합니다.

CreateDefaultSubobject

기본 컴포넌트

액터와 함께 태어나는 Mesh, Collision, Camera 같은 구성품은 생성자에서 만들고 액터가 수명을 이끕니다.

SpawnActor

월드 배치 대상

위치, 회전, 충돌, 복제, BeginPlay가 필요하면 World 컨텍스트에서 Actor로 스폰하고 Destroy 흐름으로 정리합니다.

객체별 수명 경로

생성

NewObject, 서브오브젝트, SpawnActor 중 컨텍스트에 맞게 시작합니다.

소유

Outer, Actor, World가 누가 책임지는지 전달하는 단서입니다.

참조

UObject 계열은 UPROPERTY 또는 TObjectPtr로 GC 추적을 받게 합니다.

종료

Actor는 Destroy 요청 후 유효성 확인, UObject는 참조 그래프에서 판단합니다.