Enemy가 여러마리일 때 한마리가 죽고 나서 MissingReferenceException 에러가 났다. Destroy한 오브젝트인데.. Animator가 호출됐다. (ㄷㄷ귀신)
MissingReferenceException: The object of type 'Animator' has been destroyed but you are still trying to access it.
Your script should either check if it is null or you should not destroy the object.
이번 프로젝트에서 Player, Enemy, Stat 제어 등을 맡게 되면서 다양한 시스템과의 연동이 필요했기 때문에 Action 구독 방식을 적극 활용했다. 그중에는 싱글톤 인스턴스에 있는 Action에 구독해둔 것도 있었는데, 구독한 객체가 Destroy된 후에 함수는 남아있어서 Missing Reference가 뜬 것이다.
그래서 오브젝트가 Destroy되는 곳에서 자신이 구독했던 싱글턴 Action은 구독 해제를 해줘서 해결했다.
싱글턴 인스턴스에 Action을 구독할 때는 오브젝트 파괴를 잘 생각하며 코드를 짜야겠다.!
'프로젝트 일지 > Unity' 카테고리의 다른 글
[Unity/TIL] Addressable 연구(2) (2) | 2025.04.09 |
---|---|
[Unity/TIL] Addressable 연구 (3) | 2025.04.08 |
[Unity/TIL] 3D 퍼즐 플랫폼 게임 - 팀 프로젝트 일지 (3) | World Space UI 클릭 이벤트 발생 안함 해결, 제네릭 데이터 로더 구현, 데이터 AES 암호화해서 json으로 입출력 (2) | 2025.03.17 |
[Unity/TIL] 3D 퍼즐 플랫폼 게임 - 팀 프로젝트 일지 (2) (0) | 2025.03.14 |
[Unity/TIL] 3D 퍼즐 플랫폼 게임 - 팀 프로젝트 일지 (1) (0) | 2025.03.13 |