패키지 내 스크립트는 반드시 어셈블리 정의 파일(.asmdef
)과 연결해야 합니다. 어셈블리 정의 파일은 .NET 에코시스템의 C# 프로젝트에 대한 Unity의 대응 버전입니다. 어셈블리 정의 파일의 명시적 레퍼런스를 동일한 패키지 또는 외부 패키지에 있는 다른 어셈블리로 설정해야 합니다. 자세한 내용은 어셈블리 정의를 참조하십시오.
어셈블리 정의 파일의 명명 및 저장 규칙을 사용하여 컴파일된 어셈블리 파일 이름이 .NET 프레임워크 디자인 가이드라인을 준수하도록 해야 합니다.
에디터별 코드를 루트 에디터 어셈블리 정의 파일 아래에 저장하십시오.
Editor/MyCompany.MyFeature.Editor.asmdef
런타임별 코드를 루트 런타임 어셈블리 정의 파일 아래에 저장하십시오.
Runtime/MyCompany.MyFeature.Runtime.asmdef
에디터 및 런타임 스크립트에 대한 관련 테스트 어셈블리를 설정하십시오.
Tests/Editor/MyCompany.MyFeature.Editor.Tests.asmdef
Tests/Runtime/MyCompany.MyFeature.Runtime.Tests.asmdef
추천 패키지 폴더 레이아웃에 대한 일반적인 모습은 패키지 레이아웃을 참조하십시오.
이 예제에서 어셈블리 정의 파일은 다음과 같이 패키지 종속성의 일부인 어셈블리뿐만 아니라 자체 어셈블리에 레퍼런스를 사용합니다(HDRP).
{
"name": "MyCompany.MyFeature",
"references": [
"MyCompany.MyFeature.Tools",
"MyCompany.MyFeature.Planes",
"Unity.RenderPipelines.HighDefinition.Runtime"
],
"includePlatforms": [],
"excludePlatforms": [],
"allowUnsafeCode": false,
"overrideReferences": false,
"precompiledReferences": [],
"autoReferenced": true,
"defineConstraints": [],
"versionDefines": [
{
"name": "com.unity.render-pipelines.high-definition",
"expression": "7.1.0",
"define": "HDRP_7_1_0_OR_NEWER"
},
{
"name": "com.unity.modules.particlesystem",
"expression": "1.0.0",
"define": "USING_PARTICLE_SYSTEM"
}
],
"noEngineReferences": false
}
어셈블리 정의 파일 구조에 대한 자세한 내용은 어셈블리 정의 파일 포맷을 참조하십시오.