Assembly Definition (.asmdef) アセットをスクリプトが入っているフォルダーのルートに置くことで、新しいアセンブリを定義できます。
Assembly Definition Reference (.asmref) アセットを使用すると、一連のスクリプトファイルを既存のアセンブリに明示的に加えることができます。
Assembly Definition アセットを作成するには以下を行います。
Unity はプロジェクト内のスクリプトを再コンパイルして、新しいアセンブリを作成します。その後、新しい Assembly Definition の プロパティ を編集できます。
新しいアセンブリには、Assembly Definition と同じフォルダーにあるすべてのスクリプトと、独自の Assembly Definition や Reference ファイルを持たないサブフォルダーにあるスクリプトが加えられます。Unity は、必要に応じて以前のアセンブリからスクリプトを削除します。
Assembly Definition Reference を作成します。
Project ウィンドウで、参照されるアセンブリに加えるスクリプトが入っているフォルダーを探します。
そのフォルダーに Assembly Reference アセットを作成します (メニュー:Assets > Create > Scripting > Assembly Definition Reference)。
アセットに名前を付けます。
Unity はプロジェクト内のスクリプトを再コンパイルして、新しいアセンブリを作成します。終了すると、新しい Assembly Definition Reference の プロパティ を編集することができます。
新しい Assembly Definition Reference アセットを選択して、そのプロパティを Inspector で表示します。
Assembly Definition プロパティを設定して、対象の Assembly Definition アセットを参照します。
Apply をクリックします。
これで、参照されるアセンブリに、Assembly Definition Reference と同じフォルダーにあるすべてのスクリプトと、独自の Assembly Definition や Reference ファイルを持たないサブフォルダーにあるスクリプトが加えられます。Unity は、必要に応じて以前のアセンブリからスクリプトを削除します。
特定のプラットフォーム用のアセンブリを作成するには、以下を行います。
新しい Assembly Definition Reference アセットを選択して、そのプロパティを Inspector で表示します。
Any Platform オプションをオンにし、除外する特定のプラットフォームを選択します。または、Any Platform をオフにし、加える特定のプラットフォームを選択することもできます。
Apply をクリックします。
アセンブリは、プラットフォーム用にプロジェクトをビルドする際に、選択されたプラットフォームに応じて含まれます (または除外されます)。
エディターアセンブリによって、エディタースクリプトを Editor という名のトップレベルのフォルダーだけではなく、プロジェクトのどこにでも置くことができます。
エディターコードを含むアセンブリをプロジェクトに作成するには、以下を行います。
テストアセンブリは、Unity がテストが加えられていると想定するアセンブリです。テストをテストアセンブリに配置することには、以下の利点があります。
Unity は、アセンブリが nunit.framework.dll への アセンブリ参照 と、UnityEngine.TestRunner および UnityEditor.TestRunner への アセンブリ定義参照 を持つ場合、そのアセンブリをテストアセンブリとして自動的に識別します。
Test Framework パッケージのインストールやテストアセンブリの作成方法については、Unity の Test Framework のドキュメント を参照してください。エディター UI を使用して、関連する参照が事前定義されたアセンブリ定義ファイルを作成できます。また、Inspector ウィンドウを使用 するか、JSON ファイルを直接編集 することで、参照をマニュアルで設定できます。
注:テストアセンブリは通常のビルドパイプラインの一部としてはコンパイルされません。そのため、テストアセンブリに配置されたコードは、標準の プロジェクトビルド から除外されます。テストアセンブリコードは、Test Runner ウィンドウから プレイヤーで再生モードテストを実行 する場合にのみプレイヤーに含まれます。製品コードが予期せずプロジェクトビルドにコンパイルされない場合は、そのコードがテストアセンブリに含まれていないことをよく確認してください。