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

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

関連記事

no image

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

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

no image

Unity2020でMapboxを使用する

この記事ではエラー回避のため、SDKからAR関連パッケージを除外してインポートを行います。セットアップ完了まで動作確認済ですが、AR以外にも動作に影響している可能性があります。 確認環境 Unity …

no image

UnityのManaged Memoryサイズをスクリプトから取得する

こんにちは、今日はUnityのManaged Memoryサイズをスクリプトから取得する方法についてまとめていきます。 Profiler.GetMonoUsedSizeLong() Profiler. …

no image

UnityでuGUIのButtonサイズを子のTextのサイズに自動で合わせる

こんにちは、今日はUnityのuGUIでButtonのサイズを、子オブジェクトのTextのサイズに合わせて変更する方法についてまとめていきます。 確認環境 Version 2018.4.15f1 実装 …

no image

Unity – pingを実行する

こんにちは、今日はUnityでpingを実行する方法についてまとめていきます。 確認環境 Unity 2018.4.15f1 pingの実行方法 UnityEngine.Pingクラスを使用します。 …