본문 바로가기

휴지통

NullReferenceException

NullReferenceException:Object reference not set to an instance of an object
설정된 오브젝트가 없다는뜻이다.

예로 ryzen.SetActive(true); 라고 ryzen 이라는 오브젝트를 비활성화 시키는 코드를 실행했는데

사전에 ryzen=GameObject.Find("ryzen"); 라던가
하이어라키에서 직접 스크립트 인스펙터에 오브젝트를 직접 넣어주지않은경우 나타나는 에러다.

사전에 스크립트 내에서 ryzen=GameObject.Find("ryzen"); 라고 설정해준경우에도 저 오류가 나타나는 이유는 뭘까

이유는 오브젝트가 비활성화되어있기때문에 스크립트에서는 찾을 수 가 없는것이다.
때문에 하이어라키에서 활성화 시켜준뒤 스크립트에서 오브젝트를 찾으면 찾을수있지만
것보다는 그냥 하이어라키에서 오브젝트를 설정해주는게 나은것같다.