はじめに
Unityのゲーム開発では、プレイヤーの進行状況や設定を保存する機能が必要不可欠です。EasySave3はUnityで作ったゲームに保存機能を簡単に追加できるツールです。セール中だったので$34.50で購入することができました。
EasySave 3とは?
EasySave3を使うと、プレイヤーの進行度やスコア、設定などを簡単に保存・管理することができます。ゲームにセーブ機能を実装したいとき、簡単に実装することができます。
導入方法
UnityでEasySave 3を使い始めるには、まずUnity Asset Storeからアセットを購入し、プロジェクトにインポートする必要があります。
- Unityを開き、「Window」メニューから「Asset Store」を選択します。
- 検索バーに「EasySave 3」と入力し、検索結果からアセットを選択します。
- 「Buy」または「Download」ボタンをクリックして購入またはダウンロードします。
- アセットを購入したらほかのアセットと同じようにpackagemanagerからインポートします。

基本的な使い方
EasySave 3をプロジェクトに追加したら、次は基本的な使い方を学びましょう。
インポートが完了したらtools→Easy Save→add Manager to sceanをクリックします。

Easy SaveManagerというオブジェクトがシーンに追加されます。

データの保存と読み込みは、主に以下のように行います:
- データの保存:
ES3.Save("キー", 保存したいデータ);
- データの読み込み:
変数 = ES3.Load<データ型>("キー");
ここで、「キー」とは保存するデータにつける名前のことで、このキーを使ってデータを識別します。「データ型」とは、保存・読み込みするデータの型(例:int、float、stringなど)を指します。
基本的なコード
プレイヤーのスコアを保存する簡単な例を見てみましょう:
// スコアを保存
int playerScore = 100;
ES3.Save("playerScore", playerScore);
// スコアを読み込み
int score = ES3.Load<int>("playerScore");
このコードは、プレイヤーのスコアを「playerScore」というキーで保存し、後でそのキーを使ってスコアを読み込んでいます。Tipsとトリックス
- データの型を明確にする: ES3.Loadの際には、読み込むデータの型を正確に指定することが重要です。型が一致しないと、エラーが発生します。
- デフォルト値の利用: データが存在しない場合に備えて、ES3.Loadメソッドにはデフォルト値を設定できます。これにより、エラーを防ぎつつ、スムーズなデータ処理を実現できます。
実際にセーブ&ロードする
こちらの記事のセーブ方法をplayerplafsからEasy Saveに変更してみました。
セーブの部分とロードの部分をES3.SaveとES3.Loadに書き換えるだけです。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
//TextMeshProを使うときに書く
using TMPro;
public class ScoreSave : MonoBehaviour
{
public TextMeshProUGUI scoretext;
public TextMeshProUGUI hiscoretext;
int score;
int hiscore;
// Start is called before the first frame update
void Start()
{
hiscore = ES3.Load<int>("Score");
//ハイスコアにセーブされている数値を反映(ロード)する
//hiscore = PlayerPrefs.GetInt("Score");
}
void Update()
{
//スコアの表示を変える
scoretext.text = "Score:" + score;
hiscoretext.text = "HiScore:" + hiscore;
}
public void getScore()
{
//スコアを10増やす
score = score+10;
}
public void Save()
{
//スコアがハイスコアより高い場合セーブする
if (score >= hiscore)
{
ES3.Save<int>("Score", score);
//PlayerPrefs.SetInt("Score", score);
//PlayerPrefs.Save();
}
}
}

セーブしたファイルはtools→Easy Save→SettingsのtoolタブをクリックしてOpenPersistentDataPathをクリックすると保存してあるフォルダが表示されます。

セーブファイルはメモ帳等で確認できます。

セーブ場所はSettingsタブから変更することができます。

保存できる型はたくさんあるのでこちらのページで確認することができます。
データを消す
ES3.DeleteKey、
ES3.DeleteFile、
ES3.DeleteDirectory、
を使用してデータ、ファイル、、ディレクトリを消去することができます。
//ScoreというKeyで保存した値を削除
ES3.DeleteKey("Score");
//SaveFile.es3というファイルを削除
ES3.DeleteFile("SaveFile.es3");
//saveというディレクトリを削除
ES3.DeleteDirectory("save");
toolsタブのClear Persistent Data Pathをクリックするとセーブデータをクリアすることができます。

まとめ
この記事がUnityのEasySave3の基本的な使い方を理解する手助けになれば幸いです。もちろん、ここで紹介した内容は氷山の一角に過ぎません。EasySave 3のドキュメントやチュートリアルを参考に、さらに深く学び、自分のプロジェクトに適用してみてください。