OBJECT MODEL

UObject는 엔진 관리 객체, AActor는 월드에 배치되는 객체로 판단한다

두 클래스는 상속 관계지만 설계 기준이 다르다. 월드 위치와 컴포넌트가 필요하면 AActor, 데이터와 엔진 관리가 필요하면 UObject가 출발점이다.

UObject

언리얼 객체 시스템에 들어가는 가장 기본 단위다. 월드에 직접 배치되지는 않는다.

관리 GC, 직렬화, 리플렉션, 에디터 노출을 사용할 수 있다.
용도 데이터 모델, 관리자 객체, 에셋 기반 정보에 적합하다.
생성 보통 NewObject<>로 만들고 UPROPERTY 참조를 유지한다.

AActor

UObject를 기반으로 월드 배치, 트랜스폼, 컴포넌트, 복제를 확장한 클래스다.

공간 위치, 회전, 크기를 가지고 레벨에 놓일 수 있다.
구성 StaticMesh, Collision, Movement 같은 컴포넌트를 붙인다.
생성 월드 컨텍스트에서 SpawnActor<>로 만들고 Destroy로 정리한다.
월드에 보이나화면에 배치되고 움직이면 AActor 쪽으로 본다.
트랜스폼이 있나위치와 회전이 핵심이면 UObject만으로는 부족하다.
데이터인가저장, 설정, 관리용이면 UObject가 가볍다.
네트워크인가상태 복제가 필요하면 AActor 설계가 표준이다.