LoginSignup
4

More than 1 year has passed since last update.

Unityでセーブデータを作る方法まとめ

Last updated at Posted at 2021-07-11

Unityでセーブデータを扱う機会があったのですが、セーブ方法が色々あるので、それぞれの特徴を以下にまとめました。
結論としては有料で良いのであればEasySaveを買うのが情報が多くて多機能なので無難っぽいです。

PlayerPrefs

概要

  • UnityEngineクラスで定義されている標準機能的なセーブ方法
  • データはキー・バリューで管理する。
  • 書き込み時の永続化タイミングはアプリ終了時、または"PlayerPrefs.Save();"の実行時
  • ユーザーに値を改ざんされても良いデータを扱う場合に使える。
save.cs
// load
int volume = PlayerPrefs.GetInt("Volume", 0); 
PlayerPrefs.Save();
//save
PlayerPrefs.SetInt("Volume", 50);

保存できるデータ型

  • int,float,stringの三種類のみ。

保存先

  • OSのレジストリ(WIndowsの場合)

改ざん対策

なし

所感

  • 読み込み、書き込みがそれぞれ一行で記述できるので、手軽に扱える。
  • 設定情報の保存向け

JSON

概要

  • 人間が読めるデータ形式
  • 保存したファイルをテキストエディタで開き、内容を確認・編集することができる。
  • JSON データをシリアル化、逆シリアル化するための Unity の組み込み API

保存できるデータ型

  • 文字列,数値,null,bool,オブジェクト,配列

保存先

  • 任意

改ざん対策

なし

所感

  • ユーザーに値を改ざんされても良いデータを扱う場合に使える。
  • 読み込み、書き込みがそれぞれ一行で記述できるので、手軽に扱える。
  • クロスプラットフォーム対応はやりやすそう。

EasySave

概要

  • $75.90(2021年7月11日時点)
  • 最小の機能だけならPlayerPlefsと同様に簡素なコードで書けるが、細かい設定等も可能
  • ビジュアルスクリプトにも対応
  • ファイル圧縮機能あり

保存できるデータ型

保存先

  • 任意

改ざん対策

  • 暗号化可能

参考

所感

  • 有料なだけあって、一番利便性が高そう。

Databox – Data editor & save solution

概要

保存できるデータ型

  • すべての一般的なシリアル化可能なUnityタイプをサポート
  • カスタムエディターGUIを使用して独自のタイプとクラスを追加できる

保存先

  • 任意

改ざん対策

  • 暗号化可能

参考

所感

  • 良さげだが日本語情報少な目

その他Asset

Level Save,Bayat - Save System等その他多数

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4