【Unity(C#)】Inspectorをきれいに


  
  
  
  
この記事は

『プログラミング完全未経験からUnityでの開発現場に迎え入れてもらえた世界一の幸せ者』

の記事です。そのつもりでお読みください。
  

Inspectorをきれいにする

デバックとかで便利なのもあるので忘れないように書いときます。

コード 機能
[HideInInspector] 表示しない
[Header("string header")] 指定した変数の上にheaderを表示
[Space(float hight)] hight分のスペースを空ける
[Tooltip("string tooltip")] カーソル合わせるとtooltipを表示
[Range(float min,float max)] min~maxの範囲のスライダーを表示
[Multiline(int line)] line分の改行が可能
    [HideInInspector]
    public int g;

    [Header("なんとかかんとか")]
    public GameObject nantokakantoka;

    [Space(100)]

    [Tooltip("説明文っぽいのが出る")]
    public string setsumeibun;

    [Space(50)]

    [Range(0, 100)]
    public float slider;

    [Multiline(3)]
    public string kaigyou;

いつの日か、
Editorいじってバキバキに改造したい。


2019/3/26 追記

超簡易HelpBox↓


#if UNITY_EDITOR
[CustomEditor(typeof(編集したいクラス名))]
public class HogehogeCustomWindow : Editor
{
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();

        EditorGUILayout.BeginVertical(GUI.skin.box);
        {
            EditorGUILayout.HelpBox("おまえはもうしんでいる", MessageType.Info);
        }
        EditorGUILayout.EndVertical(); //2019/10/08 追記 これで閉じないと警告が出まくる 
    }
}
#endif

次使うとき忘れそうなことメモっとくと良さそう。


2019/10/08 追記

base.OnInspectorGUI();を書くことで
もともとInspectorに表示されていたパラメーターを表示することができます。
なので、最初に書くとヘルプボックスは下に、最後に書くとヘルプボックスは上に出てきます。


2019/04/20 追記

Editor上にボタンを作成して、
押下時にメソッドを呼んで処理を走らせることができます。

#if UNITY_EDITOR
    [CustomEditor(typeof(拡張したいクラスの名前))]
    public class Debug : Editor
    {

        public override void OnInspectorGUI()
        {
            base.OnInspectorGUI();

            EditorDebugTest _RootClass = target as 拡張したいクラスの名前;

            //少しスペースを空ける
            EditorGUILayout.Space();

            // 押下時に実行したい処理
            if (GUILayout.Button("Inspectorに表示されるボタン名"))
            {
                _RootClass.実行したいメソッド;
            }
        }
    }
#endif

Editor上でDebug等にも使えて、便利機能として重宝してます。


2019/10/07 追記
namespace(using~のところ)にこれ書いときましょう。

#if UNITY_EDITOR
using UnityEditor;
#endif