본문 바로가기
프로그램/Trouble Shooting

[Unity] cs0246: The type or namespace name could not be found (are you missing a using directive or an assembly reference?) 해결

by 게맛쌀 2021. 12. 27.
728x90
반응형

1. 문제 발생

한글
cs0246: 형식 또는 네임스페이스 이름을 찾을 수 없습니다. using 지시문 또는 어셈블리 참조가 있는지 확인하세요.

영문
cs0246: The type or namespace name could not be found (are you missing a using directive or an assembly reference?)

유니티에서 빌드를 할 때, 위와 같은 에러 문구가 발생할 때가 있습니다. 위의 에러는 기본적으로 Class가 선언이 되어 있지 않거나 using으로 임포트가 되지 않아서 발생하는 에러입니다.

에러를 출력하는 콘솔창

필자의 경우는 아래와 같습니다.

-작성한 코드에는 오탈자가 없다.

-에디터에서 정상적으로 실행이 가능하다.

-잘 실행될 뿐만 아니라 기능적 오류도 발생하지 않았다.

-하지만 안드로이드 빌드를 하려고 하면 에러가 발생하며 실패한다.

 

2-1. 문제 해결

여기서 문제점은 분명 실행할 때는 에러 없이 잘 작동한다는 것입니다.

이 경우의 일반적인 해결방안으로 유니티에서 자체적으로 기능을 제공하는 "Assets/Editor"와 같이 Assets 하위 폴더에 Editor 파일을 만들어 using UnityEditor를 사용하는 스크립트를 이동시키는 것입니다. 

하지만, 필자의 경우 위와 같은 해결방안으로 해결하지 못하고 다른 방법을 통해 해결했습니다.

 

2-2. 문제 해결

using UnityEditor를 사용하는 스크립트를 찾고 아래와 같이 바꿔줍니다. 만약 사용을 하지 않는다면, 그냥 지워주는 것도 하나의 방법입니다.

 

#if UNITY_EDITOR
  
using UnityEditor;
 
#endif

 

 

3. 해결 완료

빌드성공 로그

빌드가 성공적으로 완료되었다고 로그가 출력됩니다.

반응형

댓글