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でカスタムのdefineを追加する方法

こんにちは、今日はUnityでカスタムのdefineを追加する方法についてまとめていきます。 確認環境 Unity 2018.4.15f1 カスタムのdefineを追加する UnityのメニューのEd …

no image

Unityで発生するWarning CS0649の対処方法

こんにちは、今日はUnityのC#スクリプトで発生するWarning CS0649の対処方法についてまとめていきます。 確認環境 Unity 2018.4.15f1 発生原因 以下のようなコードでスク …

no image

Unity – コルーチンの使い方

こんにちは、今日はUnityでコルーチンの使い方についてまとめていきます。 コルーチンは関数の実行途中で中断し、指定時間経過後等の条件で再開できる関数のようなものです。 詳細については公式マニュアルの …

no image

UnityでPowerShellの実行結果を取得する

以下の例ではGet-ChildItemコマンドレットを引数なしで実行、標準出力への出力をDebug.LogでUnityコンソールに出力しています。 System.Diagnostics.Process …