ドキュメント

Unity Engine

Unity Engine

Script Compile Order Folders

Unity's predefined assemblies and the order in which Unity compiles them.
読み終わるまでの所要時間 5 分最終更新 1ヶ月前

Unity では、フォルダー内のコンテンツが特別な目的を持っていることを示すために、いくつかのプロジェクトフォルダー名をあらかじめ用意しています。これらのフォルダーの中にはスクリプトのコンパイル順に影響を与えるものがあります。以下のフォルダー名が該当します。
  • Assets
  • Editor
  • Editor default resources
  • Gizmo
  • Plugins
  • リソース
  • スタンダートアセット
  • StreamingAssets
これらのフォルダーの用途については、特殊なフォルダー名 を参照してください。

定義済みのアセンブリ

Unityは、プロジェクトフォルダー構造内のスクリプトファイルの場所に基づいて、4 つの異なるフェーズでスクリプトをコンパイルします。各フェーズでは、別々の C#プロジェクトファイル (.csproj) と事前定義されたアセンブリが作成されます(該当するスクリプトがないコンパイルフェーズでは、対応するプロジェクトファイルやアセンブリは作成されません)。
スクリプトが、異なるフェーズでコンパイルされた (つまり、別のアセンブリにある) クラスを参照する場合、コンパイル順はとても重要です。基本的なルールは、現在のフェーズの 後 にコンパイルされるものは参照できないということです。現在のフェーズ、またはそれ以前のフェーズでコンパイルされたものは、すべて参照可能です。
コンパイルの各フェーズは下記のとおりです。

フェーズ

アセンブリ名

スクリプトファイル

1Assembly-CSharp-firstpassStandard Assets、Pro Standard Assets、Plugins という名のフォルダー内のランタイムスクリプト
2Assembly-CSharp-Editor-firstpassStandard Assets、Pro Standard Assets、Plugins という名の最上位フォルダー内のあらゆる場所にある Editor という名のフォルダー内のエディタースクリプト
3Assembly-CSharpEditor という名のフォルダーに入っていないすべてのスクリプト
4Assembly-CSharp-EditorEditor という名のフォルダー内にある残りのすべてのスクリプト
注意Standard Assets は Assets ルートフォルダー内でのみ機能します。
アセンブリ定義ファイルを作成し、独自のアセンブリを使用することによって、プロジェクト内のスクリプトを整理できます。独自のアセンブリを定義することで、無関係なコードを変更するときに再コンパイルが必要になるコードの量を減らすことができ、他のアセンブリへの依存をより詳細に制御することができます。詳細については、スクリプトのコンパイル - アセンブリ定義ファイル を参照してください。

追加リソース