Browse by type


ulaunch-themes channel on our Discord server!
List of unique extensions that the official HOME Menu lacks:
User login system (login once, use that user for everything)
Grid-like main menu, deeply inspired by the 3DS menu (and partially DSi/Wii menus as well), easier than ever to navigate and customize
The grid can be resized like in 3DS menus
Entries can be moved as desired
Folders, subfolders...
Homebrew directly launchable straight from main menu as an applet or an application (using applications as donors)
Extensive themeing support
Backgrounds, icons, etc.
BGM and many sound effects
Web browser easily accessible straight from main menu
Mii editor easily accessible straight from main menu
Screen capture to PC support via USB
Display system version + Atmosphère version + EmuMMC presence independently, in a nicer way
Better display when gamecard fails to mount
1080p resolution
List of implemented official HOME Menu features:
Application launching, suspending and closing
Applet launching and closing
User page
Controller support
Settings (only a handful are so far implemented):
Console version
Atmosphère version
EmuMMC presence
Console nickname
Console timezone
WiFi connection name/WiFi settings
Console language
Console information upload (enable/disable)
Bluetooth (enable/disable)
NFC (enable/disable)
Automatic application download (enable/disable)
Automatic console update (enable/disable)
Wireless LAN (enable/disable)
Console serial number
Show console IP/MAC address
General channel/applet messages (some of them aren't implemented yet):
HOME button detection
Power off, sleep, reboot
SD card removal
Gamecard failing to mount
List of not implemented official HOME Menu features:
Auto-sleep after a certain amount of time
Several unimplemented settings
Several unimplemented general channel/applet messages
Console updating
eShop functionality
Parental control
Application (game) updates
Note that a lot of features could be considered in principle (savedata support, title removing, user management, activity log stuff...), but uLaunch's philosophy is to mainly avoid considering this features or, more generally, features already provided by existing homebrews or potentially providable by them. uLaunch is a custom HOME Menu, whose aim partially is to be extended with mostly HOME-menu-related features.
Note: this project is released and meant to be used with Atmosphère, so use it with different CFWs at your own risk.
Copy everything inside the ZIP to the root of your SD card.
If you have never used uLaunch or any kind of HOME Menu replacement (NXThemes don't count) you wouldn't need to overwrite any files.
You don't need to remove your normal HOME Menu themes (NXThemes) in order to install uLaunch. Those themes are at a romfs dir inside contents/0100000000001000, while uLaunch's only file in that folder is contents/0100000000001000/exefs.nsp.
Launch your CFW (using emuMMC or sysMMC shouldn't make a difference) and enjoy your new HOME Menu!
Important: make sure you don't remove anything else but the stuff mentioned here, in order to avoid any potential trouble!
If you'd like to keep your custom themes, menu entries, config, etc. then just use the uManager tool to disable uLaunch. This doesn't remove any data, allowing you to re-enable it back any moment.
If you'd like to remove everything permanently, then you will have to remove atmosphere/contents/0100000000001000 and ulaunch folders on the SD card. If you also wish to remove uManager, then remove switch/uManager.nro.
Note: if you use any HOME Menu modification - like NXThemes - make sure you do not delete the entire
0100000000001000folder, just theexefs.nspfile!
uLaunch gives me a blackscreen. How can I fix it?
First of all, make sure you're using the latest release of uLaunch.
If new firmware updates or new Atmosphère versions have been released, you might need to wait for a new release to be dropped, and in the meantime you might be able to use dev/testing builds from our Discord server.
The log files uLaunch's components generate inside ulaunch folder can be really helpful when sharing your issue in Discord or GitHub. Make sure you don't reboot again into uLaunch, since the log files will be overwritten! Otherwise, just replicate the bug and share/copy the log files before reloading anything.
In more extreme cases, uLaunch's blackscreens might also be caused due bad handling of invalid theme/entry JSON files. The JSONs might have been corrupted (due to ExFAT, other homebrews...) so try deleting them.
uLaunch is crashing. How can I fix it?
Check log_uSystem.log inside /ulaunch for any information on the crash, as well as recent Atmosphère crash reports containing title ID 0100000000001000 or 010000000000100d in their name. The particular error code 2128-0100 means that uSystem crashed, so on those the problematic title ID is 0100000000001000.
Why can't I access the usual system settings, while I can access other normal system menus like the album, mii editor, user page, etc.?
This is an unfortunate technical issue. While the web browser, user page, album... are separate applets (separate programs, independent from the HOME Menu itself) system settings are actually part of HOME Menu itself. Therefore, we have to implement manually all of them... which requires its effort, so only a bunch of the available settings (plus a few extras) are currently available here, while the remaining settings are being reversed and implemented.
Will using uLaunch get me banned online?
There have been some cases where using uLaunch has caused bans. Keep in mind that replacing the official HOME Menu's functionality is never a completely safe idea, so always use it at your own risk. Since uLaunch doesn't perform any telemetry or communications with Nintendo servers, they might be able to notice you are running something different from the original HOME Menu.
Why does uLaunch (sometimes) feel slower than the official HOME Menu?
There are several possible reasons:
uLaunch loads more content than the official HOME Menu when loading. Most of the official HOME Menu's UI are solid colors, while uLaunch loads several images, etc. Being customizable comes with minor drawbacks, like this one.
Icons are lazily loaded, so for menus with many entries (essentially for people having a ton of games) navigating through the menu will be slightly laggy until everything loads, which will just take a few seconds. The 3DS menu has similar laggy moments, by the way ;)
Aside from the two excuses above, there is always room for further optimizations in uLaunch's code. Feel free to submit any issues of excessive lag/slowdowns, I'll do my best to improve it :)
Translations for uLaunch are always welcome!
The files to be translated are uMenu translations and uManager translations. They are pretty straightforward to understand, just JSON files with English sentences meant to be translated to any language officially supported by the Nintendo Switch.
Character \n is a new-line escape (indicates a new line) and must remain unchanged. Punctuation marks (mainly dots at the end of sentences, questions, double dots) must be respected, with perhaphs the exception of commas in the middle of sentences.
Feel free to open pull requests for translations, but it's better to keep contact with me through Discord.
As I work on new features and new strings are needed, I will manually add them as English on other language files to keep support.
uSystem is the system applet process replacement - the actual, literal HOME Menu replacement - and serves as a backend for the actual menu the user will interact with (uMenu).
uSystem handles essential HOME Menu functionality, like suspending/closing titles, closing applets, detecting power button or HOME button presses... it's very lightweight since it must always be running in the background.
It also communicates with uMenu for anything necessary via their smi communication system.
uMenu is a library applet (running temporarily over the eShop applet when launched) which is the HOME Menu the user will see and interact with.
uMenu is launched and terminated by uSystem when necessary. In order to deal with special HOME Menu functionality (closing titles, launching them...) it communicates with uSystem via their smi communication system.
uLoader is a custom nx-hbloader implementation, which allows to easily launch homebrew as applets or applications or even to choose homebrews as some sort of file dialog.
uManager is a homebrew NRO used for controlling key uLaunch aspects.
Only those tasks which cannot be performed outside uLaunch are controlled (like enabling or disabling uLaunch itself, hence why this is a separate NRO and not part of uMenu/etc), while everything else is controlled and managed on uLaunch itself.
uScreen is a PC tool that communicates via USB with uSystem in order to capture the screen. Requires Java 8 or higher, but versions above that are recommended.
IMPORTANT! This should not be used for real-time recording due to the notorious lag! For those purposes use other tools like SysDVR. This feature is meant for capturing where other screen-recording tools do not work (HOME Menu, system settings and other similar places)
Note that USB screen capture is disabled by default, and has to be enabled in settings.
You also need to install libusbK drivers for USB to work fine:
The best way to install Java 9 in Windows (or a very simple one) is to install AdoptOpenJDK 11 or higher.
Note: make sure that the JDK/JRE you choose contains JavaFX! You can always install it manually otherwise
After installing it, double-clicking the JAR should be enough to start it.
Otherwise, run java -jar uScreen.jar in the command prompt.
For the USB to get recognized, follow the following steps:
Download Zadig
Boot your console with uLaunch (first ensur
$ claude mcp add uLaunch \
-- python -m otcore.mcp_server <graph>