はじめに
今回は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に変更
なにか改善点があれば是非教えていただけると嬉しいです!