うにてぃブログ

主にUnityとC#に関する記事を書いていきます

【Unity】Unity の Assembly 定義について

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 はコンパイル順が存在しており、同じタイミングもしくはすでにコンパイルされているものに対しては
アクセスすることが可能ですが、未コンパイルのものに対してアクセスすることができません

  1. Assembly-CSharp-firstpass
  2. Assembly-CSharp-Editor-firstpass
  3. Assembly-CSharp
  4. Assembly-CSharp-Editor

そのため Plugins フォルダーに存在するスクリプトが、Plugins フォルダー以外の箇所にあるスクリプトを参照できなかったりします