コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】Unity 2018.3 で Project Settings ウィンドウに独自のメニューを追加する方法

はじめに

f:id:baba_s:20181216103000p:plain

Unity メニューの「Edit>Project Settings...」から表示できる

f:id:baba_s:20181216104235p:plain

Project Settings ウィンドウには独自のメニューを追加できます

追加方法

f:id:baba_s:20181216105940p:plain

上記のような SettingsProvider を継承したクラスを定義して
さらに SettingsProvider 属性を適用した static 関数を用意することで
Project Settings ウィンドウに独自のメニューを追加することができます

f:id:baba_s:20181216104235p:plain

例えばこのように ScriptableObject を継承したデータ管理クラスを作成して
Project Settings ウィンドウで編集できるようにすることもできます

f:id:baba_s:20181216104922g:plain

SettingsProvider.keywords を設定することで Project Settings ウィンドウで
特定のキーワードで検索にヒットするようになります

GetXXXX 関数を使用することで検索対象のキーワードを自動で設定できます

  • GetSearchKeywordsFromSerializedObject
    • 指定した SerializedObject が所持しているパラメータが
      検索ワードとして取得できます
  • GetSearchKeywordsFromPath
    • 指定したパスに存在するオブジェクトが所持しているパラメータが
      検索ワードとして取得できます
  • GetSearchKeywordsFromGUIContentProperties
    • 指定したクラスが所持しているパラメータが
      検索ワードとして取得できます

追加方法2

SettingsProvider を継承したクラスを定義しなくても、
下記のようにイベントハンドラを利用することでも項目を追加することができます

f:id:baba_s:20181216111215p:plain