原則として、作成したフォルダーには自由に名前を付けてプロジェクトを管理することができます。ただし一部、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 関数に渡されるパスに常にサブフォルダーパスを含有させます。
プラグイン をプロジェクトに追加して Unity の機能を拡張することができます。プラグインは、通常は C/C++ で作成されたネイティブの DLL です。それらは、サードパーティのコードライブラリ、システムコール、その他の Unity ビルトイン機能にアクセスできます。Unity が検出できるように、プラグインは常に Plugins というフォルダーに配置してください。
1 つの Plugins フォルダーのみを持つことができ、プロジェクトのルートに配置する必要があります。Assets フォルダー内に直接配置します。
このフォルダーがスクリプトのコンパイルに与える影響の詳細については、特殊フォルダーとスクリプトのコンパイル順 を、異なるターゲットプラットフォームのプラグインの管理については Plugin インスペクター を参照してください。
ゲームで使用するために、シーンのアセットのインスタンスを作成する代わりに、スクリプトから必要に応じてアセットを読み込むことができます。これを行うには、アセットを 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 ファイルのインポートを防ぐために使用できます。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.