1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

EUWメニュー追加

Posted at

自分へのメモも兼ねて、Qita記事を投稿します。
今回は、カスタムのメニューについてになります。
情報はいくつかあったのですが、情報の整理と選定に時間が取られ、今回の実現に一番合ってそうな方法まで落とし込むのに時間がかかりました。

今回やりたかった事

作成したエディタユーティリティウィジェットをメニューからも呼び出せるようにする事です。

  1. 独自のメニューを追加する
  2. 自作したエディタユーティリティウィジェットを呼び出す
  3. エディタユーティリティウィジェット

C++からメニュー追加する事も可能ですが、エディタで後から追加したエディタユーティリティウィジェットを呼び出す事ができないという問題がありました。

検証環境

UnrealEngine5.3.2

作業手順

  1. メニュー登録用ブループリントを作成
  2. Run走らせ用のブループリントを作成
  3. 実行したいEUWの作成
  4. Configの登録

基本的には、こちらのキンアジさんの記事で説明されている事と手順は同じです。
ですので、細かいノードの説明はしません。
最後に、参考したURLを貼ってあります。
複数のサブメニューの登録の仕方が読み取れなかったので、そこは今回、検証したところです。

メニュー登録用ブループリントの作成

メニューに独自のメニューを登録処理を行うブループリントになります。
最終的には、Startupも登録して、エディタ起動時に呼ぶようにしておきます。
エディタユーティリティブループリントでEditor Utility Objectで作成します。
※写真の場合は、『ExecuteAddMainMenuCustomLabel』と『ExecuteAddMainMenuCustom_B_Label』二つのメニューを登録しています。

メニュー登録ブループリントの全体図.png

『EUB_AddMainMenuCustom』『EUB_AddMainMenu_B』と『EUW_AddMainCustom』『EUW_AddMainCustom_B』がありますが、呼び出しの検証で識別する為、ブループリントが2パターン用意してあります。
EUB_AddMainMenu_B』は『EUB_AddMainMenuCustom』を複製したもので、『EUW_AddMainCustom_B』は、『EUW_AddMainCustom』を複製したものです。

Wigetトリガー用のブループリントを作成

メニューからコールバックで『Widget』を起動する処理を行います。
直接、エディタユーティリティウィジェットを呼び出すのが無理そうだったので、エディタユーティリティブループリントがキックします。
エディタユーティリティブループリントでEditor Utility Objectで作成します。

『EditorUtilityToolMenuEntry』を親クラスした方法と2種類ある

Wigetトリガー用のブループリントの全体図.png

ちなみに、EUWでもEUBと同様に、Run(イベント)をオーバーライドできる為、『メニュー登録用ブループリント』から『EUWのRunを実行』する事はできます。

実行したいEUWの作成

実際に、メニューから立ち上げたいWidgetになります。
エディタユーティリティウィジェットを作成します。
呼び出しの確認テストなので、ボタンを一つ置いて、PrintStringを呼び出すだけです。

デザイナー

エディタユーティリティウィジェット_デザイナー.png

グラフ

エディタユーティリティウィジェット_グラフ.png

Configの登録

『メニュー登録用ブループリントの作成』をStartupメニューに登録する事で、エディタ起動時にメニューを登録するようにしておきます。

[/Script/Blutility.EditorUtilitySubsystem]
+StartupObjects=/Game/MainMenuCustom/AddMainMenuCustom_ResisterMenus.AddMainMenuCustom_ResisterMenus

おまけ C++でやる

こちらは、C++で実現している方が居たので、参考情報として載せておきます。
今回の実現とは、やり方がマッチしなかったので、使用しませんでした。

UnrealC++でレベルエディタに独自メニューを追加する

独自のタブをエディタのメニューから呼び出す方法

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?