(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]



メニューをプログラムから実行する EditorApplication.ExecuteMenuItem【Unity】【エディタ拡張】


このエントリーをはてなブックマークに追加


この記事でのバージョン
Unity 2019.4.2f1


UnityはMenuItemを使うことで簡単に独自の処理をするメニューを追加出来ます。


//ただログを出す
[MenuItem("Tools/ShowLog")]
private static void ShowLog() {
  Debug.Log("ログ");
}
f:id:kan_kikuchi:20200710064607j:plain


そしてこのメニューは、

EditorApplication.ExecuteMenuItemを使う事でプログラムから実行する事も可能というのが今回の話。

//メニューが設定されているパスを指定し、実行
EditorApplication.ExecuteMenuItem("Tools/ShowLog");


もちろんUnityに最初からあるメニューを実行する事も可能です。

f:id:kan_kikuchi:20200710064859j:plain
//エディタの再生を開始する
EditorApplication.ExecuteMenuItem("Edit/Play");


なお、指定したパスにメニューが無ければ以下のようなエラーが出ます。

ExecuteMenuItem failed because there is no menu named 'Tools/ShowLog3'
UnityEditor.EditorApplication:ExecuteMenuItem(String)
NewBehaviourScript:ShowLog2() (at Assets/Scenes/NewBehaviourScript.cs:15)
f:id:kan_kikuchi:20200710065408j:plain