Unity

Unity NullReferenceException: Object reference not set to an instance of an object 유니티 인스펙터에 등록했는데 자꾸 NullReferenceException이 뜰 때

정보처리마법사 2021. 2. 18. 17:31
반응형
Unity NullReferenceException: Object reference not set to an instance of an object 유니티 인스펙터에 등록했는데 자꾸 NullReferenceException이 뜰 때

 

 

 

이모티콘・01・고양이 마멋 친구들 - Google Play 앱

이모티콘・01・고양이 마멋 친구들: 무료 이모티콘, 회원가입 없이! 카톡, SNS로 감정 표현이 쉬워져요. 귀여움 가득, 대화창을 더 풍성하게!

play.google.com

 

 

 

싱글톤 디자인패턴을 사용하는 SkillManager 클래스가 있고, 거기에 SkeletonAnimation 타입의 Public 변수를 선언해서 유니티 인스펙터창에서 직접 해당 오브젝트를 등록을 했건만, 혹시 실수를 했나 싶어서 수도 없이 등록을 하고 또하고 또하고 또했는데, 계속 NullReferenceException 이 뜬다.

 

아. 환장하겠네

 

삽질 끝에 이유를 밝혔는데, 그 이유는 싱글톤 디자인패턴을 사용할 때 빠른 작업을 위해 Static 변수를 선언할 때 기존에 해당 변수가 있는지 체크를 하지 않고 그냥 써버려서 이사단이 난 거임. SkillManager 게임오브젝트에 SkillManager.cs 스크립트 컴포넌트를 등록해서 썼고, 당연이 요놈이 하나뿐인줄 알았는데, 저기 저 끝에 보이지 않는 이상한 게임 오브젝트에 쓰지도 않는데 저 스크립트가 붙어있다. 거기에는 당연히 해당변수가 Null 이었다.

 

그래서 결론은

 

싱글톤 디자인패턴을 쓸땐 해당 Static 변수가 이미 있는지 꼭 체크를 하자!

 

반응형