Unity는 몇몇 프로젝트 폴더 이름을 콘텐츠가 특수한 목적을 가지고 있음을 표시하기 위한 목적으로 따로 보관합니다. 이들 중 일부는 스크립트 컴파일 순서에 영향을 줍니다. 폴더명은 다음과 같습니다.
폴더의 사용 목적에 대한 내용은 특수 폴더 이름을 참조하십시오.
스크립트 컴파일에는 네 단계가 있습니다. 스크립트가 어떤 단계에서 컴파일될지는 부모 폴더에 의해 결정됩니다.
스크립트가 다른 스크립트에 정의된 클래스를 참조하는 경우 중요합니다. 기본적으로 현재 스크립트 단계 이후에 컴파일된 것은 참조할 수 없으나, 현재 또 그 이전 단계에서 컴파일된 것은 전부 참조할 수 있습니다.
한 언어로 작성된 스크립트가 다른 언어로 정의된 클래스를 참조해야 하는 경우에도 이러한 현상이 발생합니다. 예를 들어, UnityScript 파일이 C# 스크립트에서 정의된 클래스의 변수를 선언하는 경우가 있습니다. 이 경우 참조되는 클래스는 이전 단계에서 컴파일되어야 합니다.
아래는 컴파일의 각 단계에 대한 설명입니다.
순서의 중요성을 보여주는 예 중의 하나는 UnityScript 파일이 C# 파일에서 정의된 클래스를 참조해야 하는 경우입니다. C# 파일을 Plugins 폴더 안에 넣은 다음, UnityScript 파일을 특수 폴더 이외의 일반 폴더 안에 넣어야 합니다. 이렇게 하지 않으면 C# 클래스를 찾을 수 없다는 오류가 발생합니다.
참고: 스탠다드 에셋은 Assets 루트 폴더에서만 작동합니다.