-
-
Notifications
You must be signed in to change notification settings - Fork 56
MenuEntries
uLaunch's menu is quite flexible, allowing users to add custom entries to the main menu. This is how homebrew entriess and folders are supported internally.
Entries consist on individual JSON files inside sd:/ulaunch/menu
or in subfolders there. The naming scheme is <id>.m.json
, where the ID is the location index of the entry inside the folder (IDs not present indicate empty locations in that (sub)folder).
Folder entries are a bit more special, since the actual folder name is stored inside a JSON entry (like with other entries) due to filesystem limitations with the SD card and non-ASCII characters. The actual filesystem folder name is also stored in the entry.
Note: it is not recommended to manually edit and/or create entries (deleting is fine, just remove the corresponding JSON file) unless you really know what you're doing!
Menu entry JSON format:
Note: all fields are required unless otherwise specified
-
type: Entry type (1 is for an application, 2 is for homebrew, 3 is for a folder, 4 and higher for special entries)
-
custom_name (optional): If present, this will be the name used for that entry (except for folders). Same thing with custom_author and custom_version respectively, overriding NACP strings
-
custom_icon_path (optional): Allows for specifying a custom icon for the entry (any kind). Format can be JPG or PNG, but size must be
256x256
like usual application/homebrew icons (note that it will be resized when rendered by uLaunch)
- application_id: The application's application ID (in decimal form!)
-
nro_path: Path (must start by
sdmc:/
) to the NRO in the SD (example:sdmc:/switch/Goldleaf.nro
) -
nro_argv (optional): Arguments to be sent to the NRO when being launched (example: if argv is set to be
sample
, uLaunch will launch the NRO like<nro-file> sample
). Note: if the argument has spaces (a spaced path), remember to add extra quotes ("nro_argv": "\"sdmc:/spaced file.txt\""
)
-
name: The actual folder name
-
fs_name: The name of the corresponding filesystem folder in the SD card (must be present in the same directory as the entry since it's a name, not a path)
Entries corresponding to special options (mii editor, themes, settings, album, user page...) only contain the corresponding type field, and must not really be edited manually since uLaunch takes care of them.
- Simple homebrew entry (Goldleaf)
{
"type": 2,
"nro_path": "sdmc:/switch/Goldleaf.nro"
}
- RetroArch ROM forwarder (Super Mario Land 2 GB ROM and Gambattle core)
{
"type": 2,
"nro_path": "sdmc:/retroarch/cores/gambattle_libretro_libnx.nro",
"nro_argv": "\"sdmc:/roms/gb/SUPER MARIO LAND 2.gb\"",
"custom_name": "SUPER MARIO LAND 2",
"custom_author": "Nintendo",
"custom_version": "Game Boy",
"custom_icon_path": "sdmc:/icons/gb/SUPER MARIO LAND 2.png"
}
- Simple application entry (Super Mario Odyssey)
{
"type": 1,
"application_id": "72057594037993472"
}
-
Themeing documentation