Easy Save2 を使ってみる
はじめに
Unityではデータの保存にPlayerPrefsを使うことはできるけど、int, float, stringしか保存できないので、簡単な用途にしか使えない。
データの保存を簡単にできるアセットに Easy Save2 がある。
これをセールで安かったため、購入し使ってみることにした。
対応しているプラットフォーム
PC、Mac、Web、Linux、iOS、Android、Windows Phone 8、Windows Store となっており、ひと通り動くようだ。
Webプレイヤーはデータの保存容量に1MBの制限があるみたい。
対応している型
Supported Typesを見れば一目瞭然。
ListやDictionaryなどのコレクション系はもちろん、VectorとかTransofrmもいけるらしい。
実際にセーブ・ロードする
特に難しいこともなく、PlayerPrefsを使う感覚と同じ感じ。リストとtransformのセーブとロードはこんな感じ。
1 | //リストのセーブ. |
保存場所
Application.persistentDataPathがデフォルトの保存場所のようだ。
Windowsだと C:\Users\xxxx\AppData\LocalLow{Company Name}{Product Name} 。
Company Name と Product Name は Player Settings の項目にあるやつ。
もちろん、保存場所を変更することができ、ビルドしてできたexeファイルと同じ場所に保存することも可能。
iOSやAndroidの保存場所は下記が参考になる。
【Unity3D】ファイル保存パス
データファイル
保存場所を開くと、前述で試したファイルが存在しているのがわかる。
keyごとにファイルが生成されているが、タグという機能を使うと1つのファイルにまとめることができる。
1 | ES2.Save(strs, "someFile?tag=stringList"); |
こうすると、someFile というファイルだけが生成される。
暗号化
ファイルの暗号化にも対応している。こんな感じ。
1 | ES2.Save(strs, "stringList?encrypt=true&password=test"); |
毎回、設定するのが面倒な場合は、デフォルト設定で暗号化をONにすれば良い。
Projectのところで右クリックすると、Easy Save2 用のメニューが追加されているので、「Add Default Settings Object to Scene」 を選択すればデフォルト設定ができる。
ざっと紹介したけど、紹介したことは全部Easy Save 2 Documentationに載っているので、最新の情報や詳しいことはそちらを参照してほしい。
応用
Easy Save2 で シリアライズされたクラスを保存する
確認バージョン
Unity 4.6