Unity는 몇몇 프로젝트 폴더 이름을 콘텐츠가 특수한 목적을 가지고 있음을 표시하기 위한 목적으로 따로 보관합니다. 이들 중 일부는 스크립트 컴파일 순서에 영향을 줍니다. 폴더명은 다음과 같습니다.
이러한 폴더에 대한 자세한 내용은 특수 폴더 이름을 참조하십시오.
Unity는 프로젝트 폴더 구조 내 스크립트 파일의 위치에 따라 4단계로 스크립트를 컴파일합니다. Unity는 각 단계마다 별도의 CSharp 프로젝트 파일(.csproj)과 사전 정의된 어셈블리를 생성합니다. 컴파일 단계에 적합한 스크립트가 없으면 Unity는 해당 프로젝트 파일이나 어셈블리를 생성하지 않습니다.
컴파일 순서는 스크립트가 다른 단계에 컴파일된 클래스를 참조하여 다른 어셈블리에 위치하는 경우 중요합니다. 기본적으로 현재 단계 이후에 컴파일된 것은 참조할 수 없으며, 현재 단계 또는 그 이전 단계에서 컴파일된 것은 모두 참조할 수 있습니다.
아래는 컴파일의 각 단계에 대한 설명입니다.
Phase | Assembly name | Script files |
---|---|---|
1 | Assembly-CSharp-firstpass | Runtime scripts in folders called Standard Assets, Pro Standard Assets, and Plugins. |
2 | Assembly-CSharp-Editor-firstpass | Editor scripts in folders called Editor that are anywhere inside top-level folders called Standard Assets, Pro Standard Assets, and Plugins. |
3 | Assembly-CSharp | Editor 폴더에 있지 않은 기타 모든 스크립트. |
4 | Assembly-CSharp-Editor | 나머지 모든 스크립트(Editor 폴더에 있는 스크립트). |
참고: 스탠다드 에셋은 Assets 루트 폴더에서만 작동합니다.
어셈블리 정의 파일을 생성하면 커스텀 어셈블리를 사용하여 프로젝트의 스크립트를 정리할 수 있습니다. 커스텀 어셈블리를 정의하면 관련 없는 코드 변경을 수행할 경우 다시 컴파일해야 하는 코드의 양을 줄이고 다른 어셈블리에 대한 종속성을 더욱 세부적으로 제어할 수 있습니다. 자세한 내용은 스크립트 컴파일 - 어셈블리 정의 파일을 참조하십시오.