はじめに
今回はPlayerPrefsの自作エディタの記事になります!
Unityのセーブ機能の代表であるPlayerPrefsですが、不便に感じたことがよくあるのではないでしょうか?
特にPlayerPrefsが今どのような状態になっているかが全く分からないことが原因のひとつだと思います。
なので、それを解決できるエディタ拡張を作ってみました!
PlayerPrefsのエディタをもっともっと進化させてみました!
— はなちる@ゲーム制作 (@hanaaaaaachiru) 2019年5月26日
一覧表示、作成、削除、Undo、Redoができるようになってます!#unity pic.twitter.com/7y0xjD3T1l
こちらのついて少しだけ紹介をしたいと思います。
機能
- PlayerPrefsの一覧を表示する
- 新しいPlayerPrefsの作成
- PlayerPrefsの個別・全体の削除
- 操作を誤ったときのためにUndo・Redo機能
ただしWindows以外のEditorでは動かない可能性が高いです。
使い方
上に貼った動画をみるのが一番分かりやすいと思いますが、一応書きたいと思います。
画面の起動方法

左上のところからTools -> PlayerPrefsEditorをクリックすればWindowが出てきます。
PlayerPrefsの作成

Key,Valueを入力後、右のCreateをクリックすればPlayerPrefsが作成されます。

また、Valueの値の種類は右から2番目のところから選択できます。
PlayerPrefsの削除

個別で削除をしたい場合は、右のDeleteをクリックすれば削除することができます。

また、一気に全て削除したい場合は右上のDelete All...をクリックします。
PlayerPrefsを再ロードする

Window起動,PlayerPrefsの作成・削除を行ったときにPlayerPrefsを読みとりますが、それ以外の時で読み取りたいときは右上のReload...ボタンをクリックしてください。
Undo,Redoをする

なにか誤った操作(作成,削除)を行ってしまった場合は、左上のUndoをクリックすることで戻ることができます。
逆に誤って戻ってしまった場合は、左上のRedoボタンをクリックすることで再度動作を行います。
これらの情報はPlayerPrefsEditorのWindowを起動するごとにリセットされるので注意してください。
またUndo・RedoでPlayerPrefsを再度作成したとき、元の位置に表示されるのではなく、一覧の一番下に表示されることも注意してください(いずれ直したい)。
注意点
Windowsでは動作確認済みですが、MacOs・Linuxでは動かない可能性が高いです
さらにPlayerPrefsのロードする際、キーに対応する値の型を教えてくれるメソッドがありません。
その弊害として、 -2147483648 という数字(string型は関係ありません)はintに勝手になっています(Undo,Redo時のみ)。
いずれ対応をしたいと思いますが、ご了承ください。
ダウンロード方法
こちらからunitypackageをダウンロードし、自分のUnity内にインポートしてください。
容量も数KBなので容量の心配も大丈夫だと思います。
また、コードをお見せするのが少し恥ずかしいのでプラグインに変換をしました。
なにかエラーなどの問題がありましたらTwitterやコメント等で教えていただけると嬉しいです。
動画について
動画ではDelete Allを押すとPlayerPrefs do not exitという文字がでていましたが、普通に作成できるところを表示するように変更しました。
修正
2019/05/30 Debug.Logでのコンソールへの出力を廃止,int・float判定時に強制でintになってしまう値を-2147483648に変更
なにか改善点があれば是非教えていただけると嬉しいです!