Version: 2023.2
言語: 日本語
バージョン管理
法的要件を満たす

アセンブリ定義とパッケージ

パッケージ内のスクリプトは、アセンブリ定義ファイル (.asmdef) に関連付ける必要があります。アセンブリ定義ファイルは、.NET エコシステムの C# プロジェクトに相当する Unity のシステムです。アセンブリ定義ファイルで他のアセンブリへの明示的な参照を設定する必要があります (同じパッケージ内か、 外部パッケージかによって)。詳細は アセンブリの定義 を参照してください。

アセンブリ定義ファイルの命名と保存に以下の規則を使用し、コンパイルされたアセンブリのファイル名が .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

推奨されるパッケージフォルダーレイアウトの一般的な情報に関しては、パッケージレイアウト を参照してください。

コード例

この例では、アセンブリ定義ファイルは、それ自体のアセンブリと、パッケージの依存関係の一部であるアセンブリ (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
}

アセンブリ定義ファイルの構造については、アセンブリ定義ファイル形式 を参照してください。

その他の参考資料

バージョン管理
法的要件を満たす