プロジェクトのビルド時に、生成されたプレイヤー内でシーンとアセットがバイナリファイルに結合されます。ただし、ターゲットとなるマシンの標準的なファイルシステム上にデータを配置し、パス名で参照できるようにすることができます。例えば、iOS デバイスにムービーファイルを展開する場合、PlayMovie 機能を使用して再生するには、ファイルシステム内のある場所から元のムービーファイルが入手可能となっている必要があります。このフォルダーには、オンデマンドでダウンロードする代わりに、プレイヤーのインストールで直接配布する AssetBundles を含めることもできます。
Unity プロジェクト内の StreamingAssets (大文字小文字を区別) と呼ばれるフォルダーに配置したファイルは、ターゲットのマシンの特定のフォルダーに、そのまま何も変換されない状態でコピーされます。フォルダーを取得するには、Application.streamingAssetsPath プロパティを使用します。StreamingAssets フォルダーの場所を取得するには、必ず Application.streamingAssetsPath を使用することをお勧めします。常に、アプリケーションを実行しているプラットフォーム上の正しい場所を指し示しているからです。
Application.streamingAssetsPath によって返される場所はプラットフォームごとに異なります。
Application.dataPath + "/StreamingAssets" が使用されます。Application.dataPath + "/Resources/Data/StreamingAssets" を使用します。Application.dataPath + "/Raw" です。"jar:file://" + Application.dataPath + "!/assets" 内のファイルを使用します。Application.streamingAssetsPath はウェブサーバー上の StreamingAssets/ パスを示す HTTP URL を返します。例えば http://localhost:8000/unity_webgl_build/StreamingAssets/ は、ローカルの開発サーバーに対してアプリケーションを実行している場合に返されます。Android とウェブプラットフォームでは、ファイルシステム API と streamingAssets パスを介して直接ストリーミングアセットファイルにアクセスすることはできません。これらのプラットフォームは URL を返すからです。代わりに、UnityWebRequest クラスを使用してコンテンツにアクセスします。
注:
streamingAssets パスは読み取り専用です。ランタイムに新しいファイルを変更したり、streamingAssets ディレクトリに書き込んだりしないでください。