3テラバイト

プログラム関連備忘録サイト。主にゲーム。

Unity

Unityで簡単なセーブ機能を実装できるPlayerPrefsの使い方

投稿日:

プラットフォームごとの保存先が公式ドキュメントに記載されています。
Windowsはレジストリに保存を行うため、レジストリにデータを保存したくない場合は別の実装にする必要があります。

確認環境

  • Unity 2019.4.28f1

コード

Float型の値の設定 / 取得

Keyに設定する値の任意のキーを文字列で指定、ValueにはFloat型で保存する値を指定します。

PlayerPrefs.SetFloat(Key, Value);

Keyに取得する値のキーを渡すと、そのキーの値が返されます。
第二引数にFloat型の数値を指定すると、キーが存在しない場合に返すデフォルトの値を指定可能です。

PlayerPrefs.GetFloat(Key);

Int型の値の設定 / 取得

Keyに設定する値の任意のキーを文字列で指定、ValueにはInt型で保存する値を指定します。

PlayerPrefs.SetInt(Key, Value);

Keyに取得する値のキーを渡すと、そのキーの値が返されます。
第二引数にInt型の数値を指定すると、キーが存在しない場合に返すデフォルトの値を指定可能です。

PlayerPrefs.GetInt(Key);

String型の値の設定 / 取得

Keyに設定する値の任意のキーを文字列で指定、ValueにはString型で保存する値を指定します。

PlayerPrefs.SetString(Key, Value);

Keyに取得する値のキーを渡すと、そのキーの値が返されます。
第二引数にString型の数値を指定すると、キーが存在しない場合に返すデフォルトの値を指定可能です。

PlayerPrefs.GetString(Key);

キーの存在確認

Keyに値のキーを渡すと、そのキーのデータが存在するかをbool値で返します。

PlayerPrefs.HasKey(Key)

変更の保存

PlayerPrefs.Save()

データの削除

指定キーを削除します。

PlayerPrefs.DeleteKey(Key);

すべてのキーと値を削除します。

PlayerPrefs.DeleteAll();

Unityエディタ上から削除

開発時にデータを削除したい場合は、UnityエディタのメインメニューEdit > Clear All PlayerPrefs.からすべてのPlayerPrefsを削除することができます。

リンク

UnityEngine.PlayerPrefs – Unity スクリプトリファレンス
https://docs.unity3d.com/ja/current/ScriptReference/PlayerPrefs.html

-Unity


comment

メールアドレスが公開されることはありません。

関連記事

no image

Unity – Consoleウィンドウにログを表示する方法まとめ

こんにちは、今日はUnityでConsoleウィンドウにログを表示する方法についてまとめていきます。 確認環境 Unity 2018.4.15f1 ログの出力 ログの出力にはUnityEngine.D …

no image

Unityエディタ上で使用できるダイアログを表示する方法

EditorUtility.DisplayDialog関数でダイアログの表示が可能です。 bool isOK = EditorUtility.DisplayDialog("Title&quo …

no image

Unityでスクリプトからゲームの再生や停止を行う

こんにちは、今日はUnityでスクリプトからゲームの再生や停止を行う方法についてまとめていきます。 エディタの再生、一時停止、停止ボタンの処理をスクリプトから行うことができます。これらの処理はエディタ …

no image

UnityのHierarchyの順序をスクリプトから変更する

こんにちは、今日はUnityのHierarchyの順序をスクリプトから変更する方法についてまとめていきます。 確認環境 Unity 2018.4.15f1 Hierarchyの順序をスクリプトから変更 …

no image

Unity – プラットフォームやエディタ等の実行環境ごとに処理を切り分ける方法

こんにちは、今日はUnityでWindows、Mac、Android、iOS等の各プラットフォームごとや、エディタ上で実行されている場合にスクリプトの処理を切り分ける方法についてまとめていきます。 確 …