Version: Unity 6.0 (6000.0)
言語 : 日本語
ターゲットプラットフォームのビルドパス要件
ファイルサイズの削減

ストリーミングアセット

プロジェクトのビルド時に、生成されたプレイヤー内でシーンとアセットがバイナリファイルに結合されます。ただし、ターゲットとなるマシンの標準的なファイルシステム上にデータを配置し、パス名で参照できるようにすることができます。例えば、iOS デバイスにムービーファイルを展開する場合、PlayMovie 機能を使用して再生するには、ファイルシステム内のある場所から元のムービーファイルが入手可能となっている必要があります。このフォルダーには、オンデマンドでダウンロードする代わりに、プレイヤーのインストールで直接配布する AssetBundles を含めることもできます。

Unity プロジェクト内の StreamingAssets (大文字小文字を区別) と呼ばれるフォルダーに配置したファイルは、ターゲットのマシンの特定のフォルダーに、そのまま何も変換されない状態でコピーされます。フォルダーを取得するには、Application.streamingAssetsPath プロパティを使用します。StreamingAssets フォルダーの場所を取得するには、必ず Application.streamingAssetsPath を使用することをお勧めします。常に、アプリケーションを実行しているプラットフォーム上の正しい場所を指し示しているからです。

Application.streamingAssetsPath によって返される場所はプラットフォームごとに異なります。

  • ほとんどのプラットフォーム (Unity エディター、Windows、Linux プレイヤー) では Application.dataPath + "/StreamingAssets" が使用されます。
  • macOS プレイヤーは Application.dataPath + "/Resources/Data/StreamingAssets" を使用します。
  • iOS ユーザー は Application.dataPath + "/Raw" です。
  • Android は、圧縮された APK/JAR ファイル "jar:file://" + Application.dataPath + "!/assets" 内のファイルを使用します。
  • ウェブでは、Application.streamingAssetsPath はウェブサーバー上の StreamingAssets/ パスを示す HTTP URL を返します。例えば http://localhost:8000/unity_webgl_build/StreamingAssets/ は、ローカルの開発サーバーに対してアプリケーションを実行している場合に返されます。

ストリーミングアセットへのアクセス

Android とウェブプラットフォームでは、ファイルシステム API と streamingAssets パスを介して直接ストリーミングアセットファイルにアクセスすることはできません。これらのプラットフォームは URL を返すからです。代わりに、UnityWebRequest クラスを使用してコンテンツにアクセスします。

注:

  • streamingAssets パスは読み取り専用です。ランタイムに新しいファイルを変更したり、streamingAssets ディレクトリに書き込んだりしないでください。
  • StreamingAssets フォルダーにある .dll ファイルとスクリプトファイルは、スクリプトのコンパイル時には含まれません。
  • Asset BundlesAddressables は、通常のゲームビルドデータの一部ではないコンテンツにアクセスする代替方法で、StreamingAssets フォルダーよりも優先されます。
ターゲットプラットフォームのビルドパス要件
ファイルサイズの削減