어셈블리 정의(.asmdef) 에셋을 사용하면 새 어셈블리를 스크립트가 들어 있는 폴더의 루트에 배치하여 정의할 수 있습니다.
어셈블리 정의 레퍼런스(.asmref) 에셋을 사용하면 스크립트 파일 집합을 기존 어셈블리에 명시적으로 포함할 수 있습니다.
어셈블리 정의 에셋을 만들려면 다음 단계를 따르십시오.
Unity가 프로젝트의 스크립트를 다시 컴파일하여 새 어셈블리를 생성합니다. 이후 새 어셈블리 정의의 프로퍼티를 편집할 수 있습니다.
새로운 어셈블리는 어셈블리 정의와 동일한 폴더에 있는 모든 스크립트와 자체 어셈블리 정의 또는 레퍼런스 파일이 없는 모든 하위 폴더에 있는 스크립트까지 포함합니다. Unity는 해당하는 경우 이전 어셈블리에서 스크립트를 제거합니다.
어셈블리 정의 레퍼런스 에셋을 생성하려면 다음 단계를 따르십시오.
프로젝트 창에서 참조된 어셈블리에 포함할 스크립트가 있는 폴더를 찾습니다.
폴더에서 어셈블리 레퍼런스 에셋을 생성합니다(메뉴: Assets > Create > Scripting > Assembly Definition Reference).
에셋에 이름을 지정합니다.
Unity가 프로젝트의 스크립트를 다시 컴파일하여 새 어셈블리를 생성합니다. 완료되면 새 어셈블리 정의 레퍼런스의 프로퍼티를 편집할 수 있습니다.
새로운 어셈블리 정의 레퍼런스 에셋을 선택하여 인스펙터에서 해당 프로퍼티를 확인합니다.
타겟 어셈블리 정의 에셋을 참조하도록 Assembly Definition 프로퍼티를 설정합니다.
Apply를 클릭합니다.
이제 참조된 어셈블리는 어셈블리 정의 레퍼런스와 동일한 폴더에 있는 모든 스크립트와 자체 어셈블리 정의 또는 레퍼런스 파일이 없는 모든 하위 폴더에 있는 스크립트까지 포함합니다. Unity는 해당하는 경우 이전 어셈블리에서 스크립트를 제거합니다.
특정 플랫폼에 대한 어셈블리를 생성하려면 다음 단계를 따르십시오.
새로운 어셈블리 정의 레퍼런스 에셋을 선택하여 인스펙터에서 해당 프로퍼티를 확인합니다.
Any Platform 옵션을 선택해 제외할 특정 플랫폼을 선택합니다. 또는 Any Platform을 해제한 뒤 포함할 특정 플랫폼을 선택할 수도 있습니다.
Apply를 클릭합니다.
플랫폼용 프로젝트를 빌드할 때 어셈블리는 선택된 플랫폼에 따라 포함되거나 제외됩니다.
에디터 어셈블리를 사용하면 Editor라는 최상위 폴더뿐만 아니라 프로젝트의 모든 위치에 에디터 스크립트를 배치할 수 있습니다.
프로젝트에서 에디터 코드가 포함된 어셈블리를 생성하려면 다음 단계를 따르십시오.
테스트 어셈블리란 Unity가 테스트를 포함할 것으로 예상하는 어셈블리입니다. 테스트를 테스트 어셈블리에 넣으면 다음과 같은 이점이 있습니다.
Unity는 nunit.framework.dll에 대한 어셈블리 레퍼런스와 UnityEngine.TestRunner 및 UnityEditor.TestRunner에 대한 어셈블리 정의 레퍼런스가 있는 어셈블리를 자동으로 테스트 어셈블리로 식별합니다.
Test Framework 패키지 설치 및 테스트 어셈블리 생성에 대한 지침은 Unity Test Framework 기술 자료를 참조하십시오. 에디터 UI를 사용하여 관련 레퍼런스가 미리 정의된 어셈블리 정의 파일을 생성하거나, 인스펙터 창을 통해서 또는 JSON 파일을 직접 편집하여 레퍼런스를 수동으로 설정할 수 있습니다.
참고: 테스트 어셈블리는 일반 빌드 파이프라인에 포함되어 컴파일되지 않으므로, 테스트 어셈블리에 배치된 모든 코드는 표준 프로젝트 빌드에서 제외됩니다. 테스트 어셈블리 코드는 Test Runner 창을 통해 플레이어에서 플레이 모드 테스트를 실행할 때에만 플레이어에 포함됩니다. 프로젝트 빌드에 예기치 않게 컴파일되지 않는 프로덕션 코드가 있는 경우, 해당 프로덕션 코드가 테스트 어셈블리에 포함되지 않았는지 확인하십시오.