Unity利用者なら誰でも一度は通る道、ロード・セーブ機能の追加。
実は、Unityには標準で「PlayerPrefs」という機能があります。
しかし、Windowsで実行した際の保存先はレジストリ。その上、データは暗号化されません。
つまり、Unity標準のPlayerPrefsは、ゲームの音量や効果音の切り替えなどの情報を保存するのに向いています。しかし、セーブデータを保存するには心もとないです。
できることなら、ゲームデータは大切に保管したいですよね!
Easy Saveとは?
そこでおすすめなのが、Easy Saveというアセット!
Unity Asset Storeから購入できます。
使ってみて驚いたのが、サポートタイプの多さです。
PlayerPrefsで対応している、int型やstring型に加え、Unity独自のタイプにも対応しています。
例を上げるとTransform型やVector3型、Sprite型です。
対応しているタイプの一覧は「こちら」のアセット製作者のドキュメントから確認できます。
実際に使ってみた
基本的なセーブとロードはこのようなコードで実装できます!
読み込み時に引数を渡すことで、初期値の設定も可能でした。
string saveValue = "Hello World"; ES3.Save("key", saveValue); string loadValue = ES3.Load <string>("key");
魅力的な機能は複数ありますが、暗号化に対応している点。セーブデータの保存場所を指定できる点に目を引かれました。
他にも、ノーコーディングでセーブができる、オートセーブ機能があります。
設定ウィンドウ
感想
Easy Saveを購入してから、セーブに関する悩みがサッパリ消えました。
有料のため、正直手を出すまでに時間がかかりましたが、買って正解でした!
今では私にとって必須アセットと化しています。
ロード・セーブ機能を実装したい方におすすめのアセットです!