アセンブリ定義とパッケージ
Configure assembly definitions so the Editor compiles package scripts as separate assemblies.
読み終わるまでの所要時間 3 分最終更新 1ヶ月前
パッケージ内のスクリプトは、アセンブリ定義ファイル () に関連付ける必要があります。Unity のアセンブリ定義ファイルは、.NET エコシステムの C# プロジェクトに相当します。アセンブリ定義ファイルで (同じパッケージでも外部パッケージでも) 他のアセンブリへの明示的な参照を設定する必要があります。詳細は、アセンブリ定義 を参照してください。
.asmdefコンパイルされたアセンブリのファイル名が .NET フレームワークデザインのガイドライン に準拠するように、アセンブリ定義ファイルの命名と格納には、以下の規則を適用してください。
-
エディター固有のコードをエディターアセンブリ定義ファイルのルートに保存します。
Editor/<company-name>.<package-name>.Editor.asmdef -
ランタイム固有のコードをランタイムアセンブリ定義ファイルのルートに保存します。
Runtime/<company-name>.<package-name>.asmdef -
エディタースクリプトとランタイムスクリプトに関連するテストアセンブリを設定します。
Tests/Editor/<company-name>.<package-name>.Editor.Tests.asmdefTests/Runtime/<company-name>.<package-name>.Tests.asmdef
推奨されるパッケージフォルダーレイアウトの一般的な情報に関しては、パッケージレイアウト を参照してください。
コード例
この例では、アセンブリ定義ファイルは自己のアセンブリへの参照と、パッケージ依存関係 (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}
アセンブリ定義ファイルの構造については、アセンブリ定義ファイル形式 を参照してください。