トップ 一覧 検索 ヘルプ RSS ログイン

unity_script_data_pathの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!データの保存場所

データの保存や呼び出しについては「Application.persistentDataPath」から取得できるパス文字列を使用します。
 http://docs-jp.unity3d.com/Documentation/ScriptReference/Application-persistentDataPath.html

 iOSのAppStoreに出す場合はこれを使うと申請が通らない(リジェクトされる)という記事がありました。
 このあたり要注意。AndroidのGoogle Playは問題なかったです。
 このあたり要注意。AndroidのGoogle Playでの申請は問題なかったです。

Windows環境では、
 C:/Users/UserName/AppData/LocalLow/DefaultCompany/ProductName
のような文字列が返されます。
UserNameはOSのログインユーザー名。
DefaultCompanyとProductNameは、メインメニューの「Edit」-「Project Settings」-「Player」のInspectorウィンドウで指定したもの。
{{ref_image unity_player_defaultname.png}}

ファイルの読み書きはC#の一般的な機能を使用。「[[ファイル入出力|unity_file_read_write]]」を参照。

「PlayerPrefs」クラスもありますが、これはfloat/int/stringのみでWindows環境の場合はレジストリに保存されたりしますので汎用的に使えるかどうかは不明。

!!Androidの場合

Nexus 7で確認。
Development Build時とそれ以外で異なる模様。
メインメニューの「File」-「Build Settings」で表示されるウィンドウ上で
{{ref_image unity_development_build.png}}
「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)|unity_split_apk_android]]」も参照。

----
{{lastmodified}}