投稿者 tel | 2016年11月23日

UnityでMenuItemが動かない

MenuItemで追加したメニューから関数が呼ばれなかった場合があったのでメモ。(Unity 5.4.2)

以下のようにMenuItemの関数と同じ名前のオーバーロードされた関数を用意するとメニューは項目が追加されるが選択しても関数が実行されなかった。

public class MenuItemTest : Editor
{
    static void Test(int i)
    {
    }

    [MenuItem("Editor/Test")]
    static void Test()
    {
        Debug.Log("test");
    }
}

ちゃんとメニューには出てくる。
menu_item_ss

ただし以下のようにオーバーロードされた関数をあとに書いておくと実行される。

public class MenuItemTest : Editor
{
    [MenuItem("Editor/Test")]
    static void Test()
    {
        Debug.Log("test");
    }
    static void Test(int i)
    {
    }
}

Unity 5.5では直っていた。
https://issuetracker.unity3d.com/issues/override-existing-menu-items-does-not-work-until-reimporting-scripts


コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

カテゴリー

%d人のブロガーが「いいね」をつけました。