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). Refer to Assembly Definitions for more details.
アセンブリ定義ファイルの命名と保存に以下の規則を使用し、コンパイルされたアセンブリのファイル名が .NET Framework 設計ガイドライン に従っていることを確認してください。
エディター固有のコードをエディターアセンブリ定義ファイルのルートに保存します。
Editor/<company-name>.<package-name>.Editor.asmdef
ランタイム固有のコードをランタイムアセンブリ定義ファイルのルートに保存します。
Runtime/<company-name>.<package-name>.asmdef
エディタースクリプトとランタイムスクリプトに関連するテストアセンブリを設定します。
Tests/Editor/<company-name>.<package-name>.Editor.Tests.asmdef
Tests/Runtime/<company-name>.<package-name>.Tests.asmdef
To get a more general view of a recommended package folder layout, refer to Package layout.
In this example, the assembly definition file uses references to its own assemblies, and an assembly that’s part of a package dependency (HDRP):
{
"name": "MyCompany.MyPackageName",
"references": [
"MyCompany.MyPackageName.Tools",
"MyCompany.MyPackageName.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, refer to Assembly Definition File Format.