안녕하세요 유니티 비기너입니다.
이번 시간에는 정상 작동하던 스크립트에서 Null Exception이
발생하는 원인 중 하나에 대해 알아보겠습니다.
프로젝트를 진행하다 보면 스크립트의 늘어나게 되고
스크립트가 타 스크립트를 값을 참조하게 되는 경우들이 존재합니다.
그러다 작업을 진행하다가 정상 동작을 하던 스크립트가 갑자기
NullReferenceException 발생하게 되면
다음과 같은 경우가 문제일 가능성이 있습니다.
원인 파악
스크립트들은 스크립트가 적용된 오브젝트가 활성화되어있을 때 그림과 같이 무작위로 실행됩니다.
다음 그림과 같이 1번 스크립트가 2번 스크립트의 값을 참조하는 경우
아직 활성화되지 않은 2번 스크립트를 참조하려 했기 때문에
NullReferenceException이 발생하는 경우가 발생합니다.
그러므로 다음과 같은 동작을 수행하여 처리가 가능합니다.
처리 방식
Edit < Project Settings를 선택하여 창을 엽니다.
Scripts Execution Order 탭에서 스크립트의 순서를 지정합니다. (Default Time이 낮을수록 우선 실행됩니다)
위와 같은 방법을 활용하여 실행 순서로 인해 발생하는 NullReferenceException을 해결하실 수 있습니다.
스크립트 순서를 설정하여도 계속해서 Null이 발생하신다면
참조하는 값들이 제대로 할당되어있는지 꼼꼼하게 재확인하는 것을 추천드립니다.
이상으로 스크립트 실행 순서를 조작하는 방법에 대해 알아보았습니다.
감사합니다.
'유니티정보' 카테고리의 다른 글
유니티 Unity Ads 게임 ID 위치 찾기 (0) | 2020.07.06 |
---|---|
유니티 갑자기 UI 버튼이 클릭되지 않을 때 확인해보기 (0) | 2020.07.05 |
유니티 해상도 전환하기 (0) | 2020.06.16 |
유니티 OnCollisionEnter, OnTrigerEnter 작동문제 (0) | 2020.05.01 |
유니티 일단 시작하기 (0) | 2020.04.19 |