Skip to content

Screenpack features

K4thos edited this page Jan 2, 2026 · 16 revisions

There are many new screenpack parameters, but they won’t be documented until the engine stabilizes feature-wise. Until then, everything related to these parameters may change without notice.

In the meantime, you can reference parameter names (with comments describing new features) for all parameters available in data/system.base.def, which is copied directly from src/resources/defaultMotif.ini (the default motif config loaded before system.def).

The default screenpack in data/mugen1/system.def can also be used as a showcase of many new features, and it is ready to be copied/adapted into other screenpacks.

Refer to this article for information on how to update MUGEN screenpacks to use Ikemen GO features.

Menus are built from menu.itemname.* lines in your screenpack DEF.

Show / rename an item

menu.itemname.arcade = "ARCADE"

Disable (hide) an item

Write the key with no value (commenting it out is not enough to disable default entries):

menu.itemname.arcade =

Change order

Items appear in the order they are written in the DEF.

Ikemen-only modes

Many Ikemen GO extra modes use no itemname by default, so they won't show up unless you add them yourself:

menu.itemname.freebattle = "QUICK MATCH"

Syntax

menu.itemname.<optional_submenus>.<item> = "Displayed text"
  • <optional_submenus> = any strings you want, separated by dots. They are only for grouping (like folders).
  • <item> = an engine-reserved item id (list below).

How to make a submenu

A submenu needs two parts:

  1. A line that creates the submenu entry (the "button"):
menu.itemname.extras = "EXTRAS"
  1. Lines that put items inside it (same prefix):
menu.itemname.extras.freebattle = "QUICK MATCH"
menu.itemname.extras.back       = "BACK"

Disabling a submenu

If you disable only the submenu entry:

menu.itemname.menuvideo =

...the contents under menuvideo.* are not removed. If you later enable menuvideo again with the same name, whatever was previously defined under menuvideo.* becomes visible again.

When rebuilding from scratch, do one of these:

  • Use a new submenu name (fresh group), or
  • Disable the specific items inside the submenu.

Notes

  • back goes to the previous menu.
  • spacer adds an empty line. For multiple spacers use spacer1, spacer2, etc. (any non-empty value enables them).

Supported item names (reserved by the engine)

item = strings used to start modes, change settings, and control menus.

All menus

  • back — back to previous menu
  • spacer — empty spacer line (use spacer1, spacer2, …; any value enables it)

Main menu (MUGEN defaults)

These are default MUGEN items, loaded by default if the screenpack does not override them with custom menus:

  • arcade: Arcade Mode
  • versus: Versus Mode
  • teamarcade: Team Arcade
  • teamversus: Team Versus
  • teamcoop: Team Cooperative
  • survival: Survival
  • survivalcoop: Survival Cooperative
  • training: Training Mode
  • watch: Watch Mode
  • options: Options
  • exit: Exit the game

Main menu (Ikemen GO extras)

The items listed below can be added to implement Ikemen GO exclusive modes in the menu system:

  • versuscoop: Versus Cooperative
  • freebattle: Quick Match
  • storymode: Story Mode
  • serverhost: Host Game
  • serverjoin: Join Game (reserved submenu)
  • server: opened automatically by serverhost/serverjoin (reserved submenu)
  • joinadd: New IP Address
  • netplayversus: Online Versus
  • netplayteamcoop: Online Cooperative
  • netplaysurvivalcoop: Online Survival
  • timeattack: Time Attack
  • bonusgames: Bonus Games (reserved submenu)
  • replay: Replay
  • back: back to the previous menu
  • bonus: used internally (reserved)
  • connect: used internally (reserved)

New game modes can be added via external modules. In this repository, we share the following extra modes as a reference for how to use this feature:

  • bossrush: Boss Rush
  • vs100kumite: VS 100 Kumite
  • timechallenge: Time Challenge
  • scorechallenge: Score Challenge
  • randomtest: Endless Watch

Options

  • language: Language
  • difficulty: Difficulty Level
  • roundtime: Time Limit
  • lifemul: Life
  • singlevsteamlife: Single VS Team Life
  • gamespeed: Game Speed
  • roundsnumsingle: Rounds to Win (Single)
  • maxdrawgames: Max Draw Games
  • credits: Credits
  • aipalette: Arcade Palette
  • aisurvivalpalette: Survival Palette
  • airamping: AI Ramping
  • quickcontinue: Quick Continue
  • autoguard: Auto-Guard
  • dizzy: Dizzy
  • guardbreak: Guard Break
  • redlife: Red Life
  • teamduplicates: Team Duplicates
  • teamlifeshare: Team Life Share
  • teampowershare: Team Power Share
  • roundsnumtag: Rounds to Win (Tag)
  • losekotag: Partner KOed Lose
  • mintag: Min Tag Chars
  • maxtag: Max Tag Chars
  • roundsnumsimul: Rounds to Win (Simul)
  • losekosimul: Player KOed Lose
  • minsimul: Min Simul Chars
  • maxsimul: Max Simul Chars
  • turnsrecoverybase: Turns Recovery Base
  • turnsrecoverybonus: Turns Recovery Bonus
  • minturns: Min Turns Chars
  • maxturns: Max Turns Chars
  • ratiorecoverybase: Ratio Recovery Base
  • ratiorecoverybonus: Ratio Recovery Bonus
  • ratio1life, ratio2life, ratio3life, ratio4life: Ratio life adjustment
  • ratio1attack, ratio2attack, ratio3attack, ratio4attack: Ratio damage adjustment
  • gl32: OpenGL 3.2 Renderer
  • gl21: OpenGL 2.1 Renderer
  • vk13: Vulkan 1.3 Renderer
  • resolution: Resolution (reserved submenu)
  • resolution.WxH: Resolution is assigned based on values used in the itemname suffix (e.g. 320x240)
  • resolution.customres: Allows setting a custom resolution by typing values
  • fullscreen: Fullscreen
  • vsync: VSync
  • aspectratio: Aspect Ratio (reserved submenu)
  • aspectratio.defaultaspect: Default Aspect Ratio
  • aspectratio.stageaspect: Stage Aspect Ratio
  • aspectratio.customaspect: Custom Aspect Ratio (manually entered)
  • aspectratio.WxH: Aspect Ratio assigned based on values used in the itemname suffix (e.g. 3x4)
  • keepaspect: Keep Aspect Ratio
  • windowscalemode: Window Scale Mode
  • msaa: MSAA
  • shaders: Shaders (reserved submenu; this list is populated automatically with shaders in the external/shaders directory)
  • noshader: Disables the selected shader
  • enablemodel: 3D Model
  • enablemodelshadow: 3D Model Shadow
  • mastervolume: Master Volume
  • bgmvolume: BGM Volume
  • sfxvolume: SFX Volume
  • audioducking: Audio Ducking
  • stereoeffects: Stereo Effects
  • panningrange: Panning Range
  • keyboard: Key Config
  • gamepad: Joystick Config
  • inputdefault: Reset Key/Joystick settings
  • players: Max Players
  • debugkeys: Debug Keys
  • debugmode: Debug Mode
  • helpermax: HelperMax
  • projectilemax: PlayerProjectileMax
  • explodmax: ExplodMax
  • afterimagemax: AfterImageMax
  • palettemax: PaletteMax
  • textmax: TextMax
  • portchange: Port Change
  • default: Default Values
  • savereturn: Save and Return
  • return: Return Without Saving

Key menu

  • configall: Config All
  • up: Up
  • down: Down
  • left: Left
  • righ: Right
  • a: A
  • b: B
  • c: C
  • x: X
  • y: Y
  • z: Z
  • start: Start
  • d: D
  • w: W
  • menu: Menu
  • rumble: Rumble
  • bac: Back
  • page: Page

Pause menu

  • keyboard: Key Config
  • gamepad: Joystick Config
  • inputdefault: Reset Key/Joystick settings
  • commandlist: Movelists
  • characterchange: Back to select screen
  • exit: Back to main menu
  • reset: Round Reset
  • reload: Rematch

Training menu

Same as the Pause menu, with a few additional training-specific items:

  • dummycontrol: Dummy Control
  • ailevel: AI Level
  • dummymode: Dummy Mode
  • guardmode: Guard Mode
  • fallrecovery: Fall Recovery
  • distance: Distance
  • buttonjam: Button Jam

You can mix and move items into different submenus (including nested ones) without any limitations. The order in which menu items appear on the screen depends on their order in the screenpack DEF file. Submenus should be declared before parameters that refer to items grouped inside those menus. For the Main Menu, if there is only one valid option in a submenu (back does not count), then that option will be triggered and the submenu display will be skipped. Itemnames added via external modules also work with this system.

Refer to the data/system.base.def file distributed with the engine for an example of how to use submenus in your screenpack.

The easiest way to disable the default options menus completely and start from scratch is to disable the original submenus like this:

menu.itemname.menugame =
menu.itemname.menuvideo =
menu.itemname.menuaudio =
menu.itemname.menuinput =
menu.itemname.menuengine =
menu.itemname.spacer1 =
menu.itemname.portchange = Port Change
menu.itemname.default = Default Values
menu.itemname.spacer2 =
menu.itemname.savereturn = Save and Return
menu.itemname.return = Return Without Saving

Refer to the default select.def file distributed with the engine for details and guides regarding new character and stage parameters, as well as new mode options that can be set via select.def.

Clone this wiki locally