You must associate scripts inside a package to an assembly definition file (.asmdef
). Assembly definition files are the Unity equivalent to a C# project in the .NET ecosystem. You must set explicit references in the assembly definition file to other assemblies (whether in the same package or in external packages). See Assembly Definitions for more details.
어셈블리 정의 파일의 명명 및 저장 규칙을 사용하여 컴파일된 어셈블리 파일 이름이 .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
추천 패키지 폴더 레이아웃에 대한 일반적인 모습은 패키지 레이아웃을 참조하십시오.
In this example, the assembly definition file uses references to its own assemblies as well as an assembly that is part of a package dependency (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
}
For details about the structure of an assembly definition file, see Assembly Definition File Format.