データの保存場所
データの保存や呼び出しについては「Application.persistentDataPath」から取得できるパス文字列を使用します。
http://docs-jp.unity3d.com/Documentation/ScriptReference/Application-persistentDataPath.html
iOSのAppStoreに出す場合はこれを使うと申請が通らない(リジェクトされる)という記事がありました。 このあたり要注意。AndroidのGoogle Playでの申請は問題なかったです。
Windows環境では、
C:/Users/UserName/AppData/LocalLow/DefaultCompany/ProductName
のような文字列が返されます。
UserNameはOSのログインユーザー名。
DefaultCompanyとProductNameは、メインメニューの「Edit」-「Project Settings」-「Player」のInspectorウィンドウで指定したもの。
ファイルの読み書きはC#の一般的な機能を使用。「ファイル入出力」を参照。
「PlayerPrefs」クラスもありますが、これはfloat/int/stringのみでWindows環境の場合はレジストリに保存されたりしますので汎用的に使えるかどうかは不明。
Androidの場合
Nexus 7で確認。
Development Build時とそれ以外で異なる模様。
メインメニューの「File」-「Build Settings」で表示されるウィンドウ上で
「Development Build」をチェックした場合(デバッグ実行に相当)、Application.persistentDataPathは
/storage/emulated/0/Android/data/Company名.Product名/files
を返しました。
「Development Build」のチェックをはずした本番ビルド時は
/data/data/Company名.Product名/files
を返しました。このパスはAndroid環境によって変わるかと思われます。
なお、「/data/data/」内はpermission設定がされており外からは見えないです。
ので、テスト的なログを出力する場合はDevelopment Buildで確認するのがよいのかもしれません。
Androidのapk出力の際にファイル分割して出す場合(obb生成)は、Application.persistentDataPathで取得すると保存場所が変わるようでした。
「apkの分割 (Android)」も参照。
最終更新時間:2014年06月06日 12時33分06秒