(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

PlayerPrefsに保存された値の表示や変更、作成に削除、検索とエクスポート&インポートまで可能にするAdvanced PlayerPrefs Window【Unity】【アセット】


このエントリーをはてなブックマークに追加

この記事でのバージョン
Unity 2017.3.1f1


はじめに

今回はPlayerPrefsに保存された値の表示や変更、

作成に削除、検索とエクスポート&インポートまで可能にする

Advanced PlayerPrefs Windowというアセットの紹介です!


f:id:kan_kikuchi:20180430104308g:plain


PlayerPrefsに保存されているデータを可視化し、GUIで操作出来るようにするアセットで、

PlayerPrefsに保存されている値を見たい!変更したい!追加したい!みたいな時にオススメです!


余談ですが、PlayerPrefsにListやDictionaryを保存したり、

使い勝手を良くするPlayerPrefsUtilityなるものを前に紹介していました。





基本的な使い方

Advanced PlayerPrefs Windowをインストールすると、

Window -> Advanced PlayerPrefs Windowの項目が表示され、

そこからウィンドウを表示出来るようになります。


f:id:kan_kikuchi:20180430095308j:plain


ウィンドウにはPlayerPrefsに保存されている値が表示される上に、KeyもValueも自由に変更出来ます。


なお、右側にあるボタンは左から変更した値の保存、変更した値を戻す、データの削除で、

その左にある?にカーソルを合わせると保存されている値の種類(Float, Int, String)が表示されます。


f:id:kan_kikuchi:20180430100343j:plain


新規作成

新しいデータを作成したい場合はOptionsのNew Entryを押し、


f:id:kan_kikuchi:20180430100700j:plain


KeyとValue、それにTypeを指定し、大きな+ボタンを押すだけです。


f:id:kan_kikuchi:20180430100708j:plain


一括削除

チェックマークを付け、OptionsのDelete Selected Entriesを押すと

チェックを付けたデータを一括削除出来ます。


f:id:kan_kikuchi:20180430101107j:plain
f:id:kan_kikuchi:20180430101114j:plain


なお、OptionsのDelete All Entriesを押すと全データを一括削除出来ます。


検索とソート

検索バーから検索する事も可能で、検索対象はKeyとValueまたは両方を指定できます。


f:id:kan_kikuchi:20180430101803j:plain


また、SortボタンでKeyを昇順また降順にする事も可能です。


f:id:kan_kikuchi:20180430101808j:plain


エクスポートとインポート

OptionsのExport All Entriesで全データをエクスポート、

Export Selectedでチェックしたデータをエクスポート、

Importからデータをインポートする事も出来ます。


f:id:kan_kikuchi:20180430102221j:plain


なお、出力ファイルはppeというファイルで、中身はxmlです。


f:id:kan_kikuchi:20180430102241j:plain


おわりに

PlayerPrefsのアセットを紹介しておいてなんですが、

実はかなり前からPlayerPrefsは全く使ってなかったりします。


なぜならInt, Float, Stringしか保存出来ず使い勝手が悪い上に、

全データを一括で読み込んだり保存したりするため、容量が少ないものにしか向いていないからです。


そもそもPlayerPrefs自体がゲームのセーブデータを保存するためのものでなく、

設定情報を保存するためものだったはずなので、当たり前と言えば当たり前の仕様ではあります。


なので、いつもはデータ保存用クラスを作って、それをJsonで外部出力しています。



Advanced PlayerPrefs Windowはいつ買ったのか覚えていないぐらい前のやつですが、

評価がかなり良いのに、一度も使わず勿体無いので記事にしてみた次第でした。