본문 바로가기

Unity

[GameManager] 게임 메니저 오류

728x90
반응형

유니티 프로그래밍을 하다보면 NullReferenceException: Object reference not set to an instance of an object 와 같이 뜨는 경우가 있다.

NullReferenceException: Object reference not set to an instance of an object 란 뭘까?

먼저 NullReferenceException라는 오류는 어떤 오브젝트에도 참조하고 있지 않는 참조 변수에 엑세스하려하면 발생하는 오류이다.

이는 특정 할당을 하기 전에 게임 메니저를 생성하고 게임을 실행하면 발생하게된다.

 

이미 PayerMove(예를 들어 사용하는 캐릭터를 다루는 스크립트)에서 GameManager를 지정했음에도 발생하며, 더불어 아래 사진과 같이 Game Manager라는 할당 칸이 생김에도 드래그&드롭을 할 수 없는 경우가 발생한다.

드래그 안되는 문제

이러한 상황은 하이러 라키에 GameManager라는 Empty 오브젝트를 생성하고 GameManager스크립트를 드래그 &드롭한 후, 그다음 PlayerMove창에 GameManager스크립트를 드래그 &드롭하면 해결된다.

  1. GameManager라는 Empty 오브젝트를 생성
  2. Empty 오브젝트를 드래그 &드롭
  3. PlayerMove창에 GameManager스크립트를 드래그 &드롭

즉, 앞의 에러는 참조할 오브젝트가 없어서 발생하는 오류로, public으로 선언한 GameManager객체가 존재하지 않기 때문에 발생하는 오류였다.

public GameManager gameManager;

문제해결

728x90
반응형
댓글