JSON 形式にシリアライズ
ScriptableObject

ストリーミングアセット

Unity はビルド時に必要なアセットをプロジェクトに結合します。しかし、場合によってはターゲットとなるマシンの標準的なファイルシステム上にデータを配置し、パス名で参照した方がよい事もあります。例えば iOS 上で動画ファイルを展開する場合、 PlayMovie 関数で再生するためには、元の動画ファイルをファイルシステム上に置かなくてはなりません。

Unity プロジェクトにおける StreamingAssets と呼ばれるフォルダーに配置したファイルはビルド先のプラットフォームの、特定のフォルダーにそのまま何も変換されない状態で保持されます。フォルダー名は Application.streamingAssetsPath プロパティーを取得することができます。プラットフォームごとに配置されるフォルダーの場所は異なるため、常に Application.streamingAssetsPath を使用することをお勧めします。

参照しているフォルダーの場所はプラットフォームごとに異なります。

  • デスクトップコンピューター( OSX もしくは Windows )では、次のコードでファイルのパスを取得することができます。

    path = Application.dataPath + "/StreamingAssets";

  • iOS の場合は、以下のコードを使用します。

    path = Application.dataPath + "/Raw";

  • Android の場合は、以下のコードを使用します。

    path = "jar:file://" + Application.dataPath + "!/assets/";

アンドロイドでは、ファイルは圧縮された .jar ファイル (基本的には標準的な ZIP 圧縮形式と同じもの) で格納されます。ファイルの取得に Unity の WWW クラスを使用しないのであれば、 .jar アーカイブからファイルを取り出すために、追加のソフトウェアが必要になります。

注意: StreamingAssets フォルダーにある DLL ファイルはコンパイルに含まれません。

JSON 形式にシリアライズ
ScriptableObject