Unityバージョン:2020.3.35f1
はじめに
Unityでアプリのデータを端末に保存するのはPlayerPrefsを使いますが、配列やGetter,Setterのデータ保持用クラスを保存するためにはjsonに変換してStringで保存する必要があり少し面倒でした。
(他にも保存方法はあるかもしれませんが……)
EasySaveでは、ほとんどの型で保存できますし、PlayerPrefsと同じ感覚で使えるのが便利だと思います!少々値段はかかりますが、よくセールで半額になってたりするのでそのタイミングで購入を検討してみてはいかがでしょうか!!
僕は買って良かったです!このページでは基本的な使い方を記載しますが、オートセーブ機能など記載してない所もあるので細かいところは調べてみてください!
(他にも保存方法はあるかもしれませんが……)
EasySaveでは、ほとんどの型で保存できますし、PlayerPrefsと同じ感覚で使えるのが便利だと思います!少々値段はかかりますが、よくセールで半額になってたりするのでそのタイミングで購入を検討してみてはいかがでしょうか!!
僕は買って良かったです!このページでは基本的な使い方を記載しますが、オートセーブ機能など記載してない所もあるので細かいところは調べてみてください!
導入方法
AssetStoreで購入後、パッケージマネージャーからインポートします。
インポート完了後、ツール選択で「EasySave 3」が表示されます。
使い方:セーブ
EasySaveを使用しての基本的なセーブ方法は以下のように行います。
ES3.Save("SaveDataKey", "テスト");
ES3.Save("SaveDataIntKey", 1000);
使い方:ロード
EasySaveを使用しての基本的なロード方法は以下のように行います。
string saveDataStr = ES3.Load("SaveDataKey");
int saveDataInt = ES3.Load("SaveDataIntKey");
使い方:オブジェクト
ここでは例として以下のようなGetter/SetterクラスをListに入れてセーブします。
public class UserEntity
{
/// コンストラクタ
public UserEntity()
{
Name = "";
Age = 0;
}
/// コンストラクタ(値格納用)
public UserEntity(string name,int age)
{
Name = name;
Age = age;
}
/// ユーザ名
public string Name { get; set; }
/// 年齢
public int Age { get; set; }
}
事前にUnityのEasySaveの設定でクラスを認識させる必要があります。
「ツール」→「EasySave 3」→「Types」をクリック
表示されたウィンドウの入力エリアに作成したクラス名を入力する
Search Resultに作成したクラス名が表示されるのでクリック
今回はフィールドに直接値を入れたりするわけではないのでPropertiesの各項目にチェックを入れます。
クラス名の横にチェックマークがつくと保存されています。
これでクラスを認識するようになりました。
実際に配列にクラスを入れてセーブしてみます。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MainScript : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
ES3.Save("SaveDataKey", "テスト");
ES3.Save("SaveDataIntKey", 1000);
string saveDataStr = ES3.Load("SaveDataKey");
int saveDataInt = ES3.Load("SaveDataIntKey");
List userList = CreateUserList();
ES3.Save<list>("SaveDataUserList", userList);
Debug.Log("save処理終了");
}
/// リスト作成
private List CreateUserList()
{
List resultList = new List()
{
new UserEntity("テスト太郎",20),
new UserEntity("テスト次郎",15),
new UserEntity("テスト三郎",13)
};
return resultList;
}
}
Unityで適当にオブジェクトを作ってそこにこのスクリプトを張り付けて実行してみます。
セーブ内容の確認は次の項目で行います。
使い方:セーブ内容の確認方法
セーブした内容を確認します。
「ツール」→「EasySave 3」→「ツール」をクリック
「ツール」→「EasySave 3」→「ツール」をクリック
「Open Persistent Data Path」をクリックする
エクスプローラーが立ち上がるので起動していたプロジェクトのフォルダを選択する
「SaveFile.es3」ファイルをメモ帳やサクラエディタなどでテキストとして読み込むとセーブした内容が見れます
さいごに
基本的には上記のやり方でEasySaveを使うことが出来ると思います。
オートセーブ機能やTransFormを保存するなど色々と便利ですし、楽もできるので是非購入してみてはいかがでしょうか?セール期間中に安く買うことをお勧めします!
オートセーブ機能やTransFormを保存するなど色々と便利ですし、楽もできるので是非購入してみてはいかがでしょうか?セール期間中に安く買うことをお勧めします!
コメント