UPROPERTY 강한 참조가 남아 있는 객체는 GC 대상이 아니므로 소유 관계를 명확히 합니다.
메모리 최적화는 참조 그래프를 줄이는 작업입니다
언리얼의 UObject는 GC가 관리하지만 강한 참조가 남아 있으면 에셋과 객체가 내려가지 않아 메모리 예산을 계속 잡아먹습니다.
필요한 동안만 강한 참조를 유지하고, 늦게 불러도 되는 에셋은 Soft Reference와 스트리밍 로딩으로 전환합니다.
관찰만 하는 관계는 TWeakObjectPtr로 두고 사용 전 IsValid를 확인합니다.
TSoftObjectPtr과 Asset Manager로 필요한 순간에 에셋을 로드하고 끝나면 해제합니다.
memreport, obj list, Size Map으로 실제로 많이 차지하는 클래스와 에셋을 확인합니다.
- 강한 참조 체인 점검
- 불필요한 에셋 언로드
- 컨테이너 Reserve 사용