原則として、作成したフォルダーには自由に名前を付けてプロジェクトを管理することができます。ただし一部、Unity に命令として読み取られる特殊なフォルダー名が存在します。これらのフォルダー名は、そのフォルダー内のコンテンツが特定の方法で扱われるよう指定する機能を持っています。例えば、エディタースクリプトが正しく機能するためには Editor フォルダーに置く必要があります。
このページには Unity で使われる特殊なフォルダー名の完全なリストを掲載しています。
Assets フォルダーは Unity プロジェクトで使用するアセットが含まれている主なフォルダーです。Project ウィンドウのコンテンツは、Assets フォルダーのコンテンツに直接呼応します。ほとんどの API 関数はすべてが Assets フォルダーにあることを前提とし、そのことを明示的に言及することを要求しません。しかし、関数のなかには Assets フォルダーがパスネームの一部として含まれることを必要とするものもあります (例えば、AssetDatabase クラス内のある関数)。
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 のルートに配置する必要があります。アセットフォルダー内に直接配置します。必要なアセットファイルをこの 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 フォルダーか、そのサブフォルダーに配置します。
アセットをビルドに直接組み込むのが一般的ですが、アセットを別のファイルで元の形式で使用する場合があるかもしれません。例えば、iOS でビデオを再生するには、ビデオファイルをムービーテクスチャとして使用するのではなく、ファイルシステムからアクセスする必要があります。StreamingAssets という名前のフォルダーにファイルを配置しすると、このファイルは変更されずにターゲットマシンにコピーされ、特定のフォルダーから利用できます。詳細については、ストリーミングアセット に関するページを参照してください。
StreamingAssets フォルダーは 1 つしか作成できず、Project のルートに配置する必要があります。Assets フォルダー内に直接配置します。必要なアセットファイルをこの StreamingAssets フォルダーか、そのサブフォルダーに配置します。アセットファイルがサブフォルダーにある場合は、ストリーミングアセットを参照するパスに、常にサブフォルダーパスを含有させます。
Assets フォルダー配下にある一部のファイルやフォルダーは、アセットのインポート時に無視されるものがあります。
これは、OSや他のアプリケーションで作成される特別なファイルや temp ファイルのインポートを防ぐために使用できます。