パッケージ内のスクリプトは、アセンブリ定義ファイル (.asmdef
) に関連付ける必要があります。アセンブリ定義ファイルは、.NET エコシステムの C# プロジェクトに相当する Unity のシステムです。アセンブリ定義ファイルで他のアセンブリへの明示的な参照を設定する必要があります (同じパッケージか、 外部パッケージかによって)。詳細は アセンブリ定義 を参照してください。
アセンブリ定義ファイルの命名と保存に以下の規則を使用し、コンパイルされたアセンブリのファイル名が .NET Framework 設計ガイドライン に従っていることを確認してください。
エディター固有のコードをエディターアセンブリ定義ファイルのルートに保存します。
Editor/[YourCompany].[YourPackageName].Editor.asmdef
ランタイム固有のコードをランタイムアセンブリ定義ファイルのルートに保存します。
Runtime/[YourCompany].[YourPackageName].Runtime.asmdef
エディタースクリプトとランタイムスクリプトに関連するテストアセンブリを設定します。
Tests/Editor/[YourCompany].[YourPackageName].Editor.Tests.asmdef
Tests/Runtime/[YourCompany].[YourPackageName].Runtime.Tests.asmdef
推奨されるパッケージフォルダーレイアウトの一般的な情報に関しては、パッケージレイアウト を参照してください。
この例では、アセンブリ定義ファイルは、そのアセンブリと、パッケージの依存関係の一部であるアセンブリ (HDRP) への参照を使用します。
{
"name": "[YourCompany].[YourPackageName]",
"references": [
"[YourCompany].[YourPackageName].Tools",
"[YourCompany].[YourPackageName].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
}
アセンブリ定義ファイルの構造については、アセンブリ定義ファイル形式 を参照してください。