언리얼 기본 설정에서 GC는 약 60초 주기마다 작동한다.
Root Set으로 지정된 오브젝트는 GC에 의해 삭제되지 않는다.
UPROPERTY로 선언된 멤버 변수는 소유한 UObject와 생명주기를 함께 한다.
Raw pointer를 사용하면 가리키는 대상이 제거되었는지 알 수 없다. 파괴되었을 수 있는 외부 변수를 참조할 때는 TWeakObjectPtr 를 사용해야한다.
Root Set을 명시적으로 지정해주거나, GC를 강제로 작동시켜줄 수도 있다.
언리얼 공식 문서 - 언리얼 오브젝트 처리
https://docs.unrealengine.com/ko/unreal-object-handling-in-unreal-engine/
삐멜 소프트웨어 엔지니어 - 가비지 컬렉터(Garbage Collector)와 Mark & Sweep
https://imasoftwareengineer.tistory.com/103
AlgorFati의 개발 기록 - [Unreal] 언리얼 메모리 관리 시스템 (Smart Pointer, GC)
https://algorfati.tistory.com/75