Skip to content

Instantly share code, notes, and snippets.

@leixingyu
Created September 17, 2022 17:19
Show Gist options
  • Save leixingyu/c009307db1fe8175fdb19cb3c74ac216 to your computer and use it in GitHub Desktop.
Save leixingyu/c009307db1fe8175fdb19cb3c74ac216 to your computer and use it in GitHub Desktop.
Custom Unreal Startup Menu Template
import unreal
def create_menu():
# Get the main ToolMenu of Unreal
menus = unreal.ToolMenus.get()
main_menu = menus.find_menu('LevelEditor.MainMenu')
# Create custom ToolMenu
my_menu = main_menu.add_sub_menu(
owner=main_menu.get_name(),
name='My Menu',
label='My Menu',
section_name=''
)
# ToolMenuSection for ToolMenuEntry
my_menu.add_section(section_name='Section A', label='Menu Entry Section')
# ToolMenuEntry
entry_a = unreal.ToolMenuEntry(type=unreal.MultiBlockType.MENU_ENTRY)
entry_a.set_label("I'm Menu Entry A")
entry_a.set_string_command(
type=unreal.ToolMenuStringCommandType.PYTHON,
custom_type=unreal.Name(''),
string='unreal.log(\'Hello\')'
)
my_menu.add_menu_entry(section_name='Section A', args=entry_a)
entry_b = unreal.ToolMenuEntry(type=unreal.MultiBlockType.MENU_ENTRY)
entry_b.set_label("I'm Menu Entry B")
my_menu.add_menu_entry(section_name='Section A', args=entry_b)
# ToolMenuSection for a sub ToolMenu
my_menu.add_section(section_name='Section B', label='Submenu Section')
# sub ToolMenu
my_submenu = my_menu.add_sub_menu(
owner=my_menu.get_name(),
name='MySubmenu',
label="I'm a Submenu",
section_name='Section B'
)
# ToolMenuEntry in Sub ToolMenu
entry_c = unreal.ToolMenuEntry(type=unreal.MultiBlockType.MENU_ENTRY)
entry_c.set_label("I'm Menu Entry C")
my_submenu.add_menu_entry(section_name='', args=entry_c)
menus.refresh_all_widgets()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment