原則として、作成したフォルダーには自由に名前を付けてプロジェクトを管理することができます。ただし一部、特別な目的のため Unity によって予約されているフォルダー名が存在します。例えば、エディタースクリプトが正しく機能するためには Editor フォルダーに置く必要があります。
このページには Unity で使われる特殊なフォルダー名の完全なリストを掲載しています。
Assets フォルダーは Unity プロジェクトで使用するアセットが含まれている主なフォルダーです。Project ウィンドウのコンテンツは、Assets フォルダーのコンテンツに直接呼応します。ほとんどの API 関数はすべてが Assets フォルダーにあることを前提とし、そのことを明示的に言及することを要求しません。しかし、関数のなかには Assets フォルダーがパスネームの一部として含まれることを必要とするものもあります (例えば、AssetDatabase クラス内のある関数)。
エディタースクリプトは、開発中の Unity に機能を追加するものですが、ランタイムのビルドでは使用できません。Editor フォルダーのスクリプトは、ランタイムスクリプトではなく、エディタースクリプトとして実行されます。
複数の Editor フォルダーを Assets フォルダー内の任意の場所に配置できます。エディター用のスクリプトは Editor フォルダー、またはその中のサブフォルダーに配置します。
Editor フォルダーの正確な場所は、他のスクリプトと比較して、そのスクリプトがコンパイルされる時間に影響します (詳細については、特殊フォルダとスクリプトのコンパイル順 を参照してください)。
エディタースクリプトの EditorGUIUtility.Load 関数を使用して、Editor フォルダー内の Resources フォルダーからアセットをロードします。これらのアセットは、エディタースクリプトを通してのみロードされ、ビルドからは取り除かれます。
ノート: スクリプトが Editor フォルダーにあるとき、Unity は MonoBehaviour から派生したコンポーネントをゲームオブジェクトに割り当てることはできません。
エディタースクリプトは、EditorGUIUtility.Load 関数を使用して要求に応じて読み込まれるアセットファイルを使用します。この関数は、Editor Default Resources と呼ばれるフォルダー内のアセットファイルを検索します。
Editor Default Resources フォルダーは 1 つしか作成できず、Project のルート、つまり、直接 Assets フォルダー内に配置する必要があります。必要なアセットファイルを、この Editor Default Resources フォルダーかそのサブフォルダーに配置します。アセットファイルがサブフォルダーにある場合は、EditorGUIUtility.Load 関数に渡されるパスに常にサブフォルダーパスを含有させます。
Gizmos を使用すると、シーンビューにグラフィックスを加えて、そうしないと目に見えないデザインの詳細を可視化することができます。Gizmos.DrawIcon 関数は、アイコンをシーンに配置し、特別なオブジェクトまたは位置のマーカーとして利用します。このアイコンを描画するために使用する画像ファイルを Gizmos というフォルダーに配置して、DrawIcon 関数によってそのアイコンを配置する必要があります。
Gizmos フォルダーは 1 つしか作成できず、Project 、つまり、直接 Assets フォルダー内に配置する必要があります。必要なアセットファイルをこの Gizmos フォルダー、かそのサブフォルダーに配置します。アセットファイルがサブフォルダーにある場合は、Gizmos.DrawIcon 関数に渡されるパスに常にサブフォルダーパスを含有させます。
ゲームで使用するために、シーンのアセットのインスタンスを作成する代わりに、スクリプトから必要に応じてアセットを読み込むことができます。これを行うには、アセットを Resources というフォルダーに配置します。Resources.Load 関数を使用してこれらのアセットを読み込みます。
Assets フォルダー内の任意の場所に複数の Resources フォルダーを配置できます。必要なアセットファイルを Resources フォルダーか、その中のサブフォルダーに配置します。アセットファイルがサブフォルダーにある場合は、Resources.Load 関数に渡されるパスに常にサブフォルダーパスを含有させます。
ノート: Resources フォルダーが Editor のサブフォルダーである場合、その中のアセットは Editor 用スクリプトから読み込み可能ですが、ビルドからは削除されます。
標準のアセットパッケージをインポート (Assets > Import Package) すると、アセットが Standard Assets フォルダーに入ります。このフォルダーはアセットを保管するだけでなく、スクリプトのコンパイル順に影響を与えます。詳しくは 特殊フォルダーとスクリプトコンパイル順 を参照してください。
Standard Assets フォルダーは 1 つしか作成できず、Project のルート、つまり、直接 Assets フォルダー内に配置する必要があります。必要なアセットファイルをこの Standard Assets フォルダーか、そのサブフォルダーに配置します。
アセットをビルドに直接組み込むのが一般的ですが、アセットを別のファイルで元の形式で使用する場合があるかもしれません。例えば、Handheld.PlayFullScreenMovie を使って IOS のビデオを再生するためには、ファイルシステムからビデオファイルにアクセスする必要があります。
ストリーミングアセットを加えるには、以下を行います。
詳しくは、ストリーミングアセット のページを参照してください。
StreamingAssets フォルダーは 1 つしか作成できず、Project のルート、つまり、直接 Assets フォルダー内に配置する必要があります。必要なアセットファイルをこの StreamingAssets フォルダーかサブフォルダーに配置します。アセットファイルがサブフォルダーにある場合は、ストリーミングアセットの参照に使用するパスに、常にサブフォルダーパスを加えてください。
Unity は .androidpack
で終わるフォルダをAndroid アセットパック として解釈します。詳しくは、カスタムアセットパックの作成 をご覧ください。
Unity は .androidlib
で終わるフォルダーをAndroid Library Project として解釈します。詳しくは、インポートとAndroid Library Project をご覧ください。
インポート時に、Assets フォルダー (またはその中のサブフォルダー) 内の以下のファイルやフォルダーは、無視されます。
これは、OS や他のアプリケーションによって作成される特別なファイルや一時ファイルのインポートを防ぐためです。