この記事でのバージョン
Unity 5.1.0f3 Personal
はじめに
以前、プロジェクトをまたいでデータを保存する記事を書きましたが、
今回はプロジェクト内でデータを保存する方法です。
今回も、基本的にエディタ拡張で使う機能だと思われます。
EditorUserSettings
プロジェクト内でデータを保存したい場合に使えるのがEditorUserSettingsです。
EditorUserSettingsは極めてシンプルで、GetとSetのみ、しかも保存できるのはstringだけです。
//"TestKey"というKeyで保存されている値を取得、値が存在しない場合はnullが返ってくる string value = EditorUserSettings.GetConfigValue ("TestKey"); //"TestKey"というKeyで"TestValue"という値を保存 EditorUserSettings.SetConfigValue ("TestKey", "TestValue");
分かり易くて良いですが、
保存されている値の一覧表示や要素の削除が出来ないので、少々使い難いです。
EditorUserSettingsの保存場所
EditorUserSettingsでどこに保存したかというと、Assetsディレクトリと同階層にある
Libraryディレクトリの中のEditorUserSettings.assetです。
EditorUserSettings.assetは暗号化されており、
確認したい場合はUnityに同梱されているbinary2textを使います。
binary2textは、Unityのアプリケーションを右クリックし、
パッケージ内容を表示した中にあるContents/Toolsディレクトリに入っています。
このbinary2textをターミナルへドラッグ&ドロップ、
さらにEditorUserSettings.assetも同様にターミナルへドラッグ&ドロップした後、
実行するとEditorUserSettings.assetを復号化したテキストファイルが作成されます。
このテキストファイルを見ると、EditorUserSettings保存した値が
first "Key" second "Value"という形で確認出来ます。
おわりに
普通はLibraryディレクトリをバージョン管理に含まないらしいので、
そのプロジェクトのみかつ、各個人の設定を行いたい場合に使えると思います。