Unity の Assembly はディレクトリに応じて下記 4つに分類されます
- Assembly-CSharp
- Assembly-CSharp-Editor
- Assembly-CSharp-firstpass
- Assembly-CSharp-Editor-firstpass
各 Assembly の分類は以下のような条件で行われます
Assembly | 条件 |
---|---|
Assembly-CSharp | Editor という名のフォルダーに入っていないすべてのスクリプト |
Assembly-CSharp-Editor | Editor という名のフォルダーに入っているすべてのスクリプト |
Assembly-CSharp-firstpass | Standard Assets、Pro Standard Assets、Plugins という名のフォルダー内のランタイムスクリプト |
Assembly-CSharp-Editor-firstpass | Standard Assets、Pro Standard Assets、Plugins という名の最上位フォルダー内のあらゆる場所にある Editor という名のフォルダー内のエディタースクリプト |
コンパイル順
各 Assembly はコンパイル順が存在しており、同じタイミングもしくはすでにコンパイルされているものに対しては
アクセスすることが可能ですが、未コンパイルのものに対してアクセスすることができません
- Assembly-CSharp-firstpass
- Assembly-CSharp-Editor-firstpass
- Assembly-CSharp
- Assembly-CSharp-Editor
そのため Plugins フォルダーに存在するスクリプトが、Plugins フォルダー以外の箇所にあるスクリプトを参照できなかったりします