Unreal memory

UObject와 일반 C++ 데이터는 소유권 규칙이 다르다

GC가 따라가는 UObject 참조와 RAII로 관리하는 Non-UObject 데이터를 먼저 구분해야 메모리 회수 판단이 섞이지 않는다.

대상수명 규칙좋은 사용위험 신호
UObjectGC가 참조 그래프를 검사Actor, Component, Asset처럼 엔진 객체로 관리참조가 남아 회수되지 않음
UPROPERTY 참조GC가 강한 참조로 추적소유해야 하는 UObject 포인터 표시누락 시 예기치 않은 회수
TWeakObjectPtr소유하지 않고 유효성만 확인캐시, 관찰자, 임시 접근검사 없이 역참조
Non-UObjectRAII와 스마트 포인터 사용버퍼, 순수 C++ 구조체, 외부 리소스new/delete 수동 관리
에셋·풀로드/반납 정책 필요반복 생성 비용을 풀링으로 제한풀 크기 증가와 스트리밍 지연

메모리 문제는 먼저 어느 세계의 수명 규칙을 따르는지 분리한 뒤 추적한다.