Hierarchyビューに右クリックメニューを追加する


エディタ拡張していると、どうしても欲しくなる右クリックメニュー
非常に簡単に追加できたのでメモ

staticメソッドにMenuItem属性を追加
さらにパスを"GameObject/..."とすることでヒエラルキー上で右クリックメニューに追加される
ヒエラルキー上で選択しているGameObjectは
Selection.activeGameObjectで取得可能

サンプルコード

using UnityEditor;
using UnityEngine;

/// <summary>
/// ヒエラルキービューに右クリックメニューを追加
/// </summary>
public class HierarchyMenu {

    [MenuItem("GameObject/Foo", false, 0)]
    public static void Foo()
    {
        var gameObject = Selection.activeGameObject;
        Debug.Log("Foo " + gameObject.name);
    }

    [MenuItem("GameObject/Bar", false, 20)]
    public static void Bar()
    {
        var gameObject = Selection.activeGameObject;
        Debug.Log("Bar " + gameObject.name);
    }
}

表示確認


MenuItemの第三引数で表示優先度を決めることができるが
0だとCreateEmptyの下に、20だと一番下に表示される模様。