[Unity] 플레이 모드 종료 후에도 유지되는 static 변수 Ⅰ. 문제 상황유니티 커스텀 에디터를 개발하던 중, 플레이 모드를 종료하는 시점으로부터 MissingReferenceException이 발생했다. 확인 결과 소멸해야하는 클래스(TimeLine)이 삭제되지 않고 남아있는 것과 메모리 누수가 발생하고 있는 것을 확인했다. Ⅱ. 원인 분석 및 디버깅 과정문제를 해결하기 위해 메모리를 붙잡고 있는 후보군을 차례대로 추적했다. 1단계: 에디터 레지스트리 확인 가장 먼저 커스텀 에디터 스크립트에서 접근하는 static 클래스인 TimeLineEditorRegistry를 확인했다. 이 클래스는 WeakReference 형태로 객체를 보유하고 있었다. 약한 참조(Weak Reference)를 사용 중이었기에 GC의 수집을 방해하지 않을 것이라 판단하고 다음 단계로 넘.. 2026. 4. 10. 이전 1 다음 반응형