【Unity】アプリケーションデータの保存先
Unityアプリ上で、データの保存先がいろいろあるのでまとめました。
Application.persistentDataPath
アプリケーションの永続的なデータ(キャッシュなど)を保存する場所
Application.temporaryCachePath
アプリケーションの一時的なデータ(ゲームデータなど)を保存する場所
- Android:/data/data/<アプリID>/cache/
- iOS:Application/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/Library/Caches
streamingAssetsPath
ムービーやサウンドなどそのまま変換しないデータを保存する場所
・Anrdoid: jar:file:///data/app/xxx.xxx.xxx.apk/!/assets/
・iOS:Application/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/xxx.app/Data/Raw
※注意!
iOSではApplication.persistentDataPathがiCloudのバックアップ対象なので、
ここに容量が大きいデータを保存すると審査で弾かれるようです。
…という情報を踏まえて、実装したのですが、
AndroidでApplication.persistentDataPathに保存しようとしても指定の場所に存在しない。
(File.Existではtrueが返るのに、エクスプローラで検索しても出てこない)
↓
原因が分かりました。
PlayerSettings>Other Settings>Write AccessをExternal(SDCard)にしないと見えないのですね。
ちなみに「Internal Only」ではアプリ内には存在するようです。