はじめに
Assembly Definition Fileの概要は分かっている前提での説明です。
参考: Unity2017.3のAssembly Definition Filesを適切に設定してコンパイルにかかる時間を削減する - Qiita
原因
恐らくEditor
ディレクトリ以下をビルドしようとしていることが原因。
通常UnityではEditor
ディレクトリ以下はUnityエディタ上でのみ動作し、ビルドには含まれない扱いになる。実は内部的にEditorディレクト内にAssembly Definition Fileが定義されている状態である。
手動でAssembly Definition Fileを追加した場合、それ以下に含まれるEditor
ディレクトリではAssembly Definition Fileが作成されなくなることからビルド時にエラーが発生する。
解決方法
該当のEditor
ディレクトリに対し、手動でAssembly Definition Fileを定義してやればいい。
気をつけるポイントとしては以下の通りです。
-
Platform
をEditor
のみにする-
Any Platform
のチェックを外した状態で、Include Platforms
のEditor
のみにチェックに入れている状態 -
Any Platform
のチェックが入った状態だとExclude Platforms
(対象外のプラットフォーム)の表示になり、全く逆の状態であることに注意
-
- Assembly Definition Referencesに親のAssembly Definition Fileを追加する
- これをしないと恐らくエディタ上でもコンパイルエラーが発生する
最後に
いちいちコンパイルが走るので、作業量の割に時間がかかって面倒くさいけど、がんばってください