본문 바로가기

Unity/Common

Unity Scripting - can only be called on an active agent that has been placed on a NavMesh.

반응형

기본적으로 이 문제는 NavMeshAgent가 NavMesh에 제대로 접착(등록)이 안되서 발생하는 문제다.

 

체크사항은

 

1. NavMesh를 Bake하였는가.

2. 동적생성일 경우 위치를 초기화해주기 전에 Agent를 Disable 후 위치를 초기화 해주고 Agent를 Enable로 변경하는 것이다.

 

사실 위 두개만 지켜도 이러한 문제는 크게 발생하지 않는데, 오늘 2019.2.11f1버전에서 작업중에 위 사항을 다 체크했음에도 계속 발생하였다. 분명 코드상 문제도 없었다.

 

해결은 어찌했나? 어이없게도 변수명을 변경하고 다시 컴파일을 했더니 해결되었다. 

 

변경전 변수 명 : Agent

변경후 변수 명 : nav

 

물론 해결후엔 Agent로 다시 바꿔도 정상작동했다. 요즘들어 유니티 컴파일 관련 문제를 겪는거 같다. 

반응형