LoginSignup
6
5

More than 1 year has passed since last update.

[UE5] Pythonでお手軽にエディターのメニューを拡張してみる

Posted at

EUWというツールメニューにも自動で登録されるような便利な機能がありますが、何らかの理由でエディターのメニューにカスタムの項目を追加したい場合、Pythonからやる方法が結構簡単だった、かつあまり情報が無かったので置いておきます。

早速ですがコード

import unreal

def main():
    #メニューオブジェクトに、セクションを追加する
    ToolMenus = unreal.ToolMenus.get()
    ToolMenu = ToolMenus.find_menu("LevelEditor.MainMenu.Tools")
    ToolMenu.add_section(section_name="mytools",label="My Tools",insert_type=unreal.ToolMenuInsertType.DEFAULT,)

    #新しく追加したセクションに追加するエントリーを作成して追加する
    entry = unreal.ToolMenuEntry(name="newentry", type=unreal.MultiBlockType.MENU_ENTRY)
    entry.set_label("New Entry")
    entry.set_string_command(unreal.ToolMenuStringCommandType.PYTHON, "", "hoge()")
    ToolMenu.add_menu_entry("mytools", entry)

#追加されたエントリーから呼ばれる関数
def hoge():
    print("fugaaaaaaaa")

main()

これをご存知の通りのContent/Python下のinit_unreal.pyに書けば、エディター起動時に"Tools"メニューにカスタムのメニューを追加できます。
ss_newentry.png
ちゃんと関数も呼べています。
fugaaaa.png
メニューの拡張はC++とかBPでやるのが一般的な印象ですが、Pythonだと結構シンプルに実現出来ているのではないでしょうか。
何かのヒントになれば幸いです。

6
5
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
6
5