読者です 読者をやめる 読者になる 読者になる

マッピィ Techlog

日々思うこと

【Unity】アプリケーションデータの保存先

Unity

Unityアプリ上で、データの保存先がいろいろあるのでまとめました。

 

Application.persistentDataPath

アプリケーションの永続的なデータ(キャッシュなど)を保存する場所

  • Android:/data/data/<アプリID>/files/
  • iOSApplication/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/Documents

 

Application.temporaryCachePath

アプリケーションの一時的なデータ(ゲームデータなど)を保存する場所

  • Android/data/data/<アプリID>/cache/
  • iOSApplication/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/Library/Caches

 

streamingAssetsPath

ムービーやサウンドなどそのまま変換しないデータを保存する場所

・Anrdoid: jar:file:///data/app/xxx.xxx.xxx.apk/!/assets/

iOSApplication/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/xxx.app/Data/Raw

 

※注意!

iOSではApplication.persistentDataPathがiCloudのバックアップ対象なので、

ここに容量が大きいデータを保存すると審査で弾かれるようです。

 

…という情報を踏まえて、実装したのですが、

AndroidApplication.persistentDataPathに保存しようとしても指定の場所に存在しない。

(File.Existではtrueが返るのに、エクスプローラで検索しても出てこない)

原因が分かりました。

PlayerSettings>Other Settings>Write AccessをExternal(SDCard)にしないと見えないのですね。

f:id:macky2016:20160427183722p:plain

ちなみに「Internal Only」ではアプリ内には存在するようです。