uLaunch: a customisable Nintendo Switch HOME menu
:rocket: The themeable Nintendo Switch HOME Menu we deserve
At a glance
- What is it?
- uLaunch replaces the Switch HOME Menu with a grid based launcher oriented towards homebrew, with folders, a login system, a web browser, a Mii editor, screen capture to a PC over USB and extensive theming. It ships as a set of separate applications and is meant to be installed over Atmosphere.
- Who is it for?
- uLaunch suits a Switch homebrew user who wants a launcher built around their own applications rather than the console's game oriented menu, since the grid, the folders and the direct applet launching are the reason it exists. It is the wrong choice for a stock console or for someone who wants the eShop, parental controls or game updates, all of which the README lists as deliberately out of scope.
- Can I use it commercially?
- Yes, with conditions. GPL-2.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
- Is it still maintained?
- Yes. The repository last received commits 91 days ago.
- What is it written in?
- Mainly C++, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
A launcher rather than a skin
uLaunch describes itself as an open-source, customisable and homebrew-oriented replacement for the Nintendo Switch HOME Menu, and the phrasing does a lot of work.
A skin would change the appearance of the official menu. uLaunch replaces it, which is why the project ships a set of separate applications rather than a theme file, and why the installation involves copying files over the console's own menu package.
The design goal is stated in the features list, and it is what separates this from a launcher for games. Homebrew can be launched straight from the main menu as an applet or as an application, with applications used as donors when a piece of homebrew needs an application to run in. There is a user login system, so you log in once and that user is used for everything afterwards, a grid-like main menu inspired by the 3DS menu and partially by the DSi and Wii menus, folders and subfolders, and a grid that can be resized and whose entries can be moved around.
Alongside that there are the conveniences that homebrew users end up wanting: a web browser and a Mii editor reachable from the main menu, screen capture to a PC over USB, and a display of the system version, the Atmosphere version and the presence of an emulated memory card, each shown independently and in a nicer way than the official menu manages.
The project is GPL 2.0 licensed, the default branch is called unew, and the latest release is 1.2.5.
The feature list, including what is missing
The README is unusually thorough about status, and the structure is worth following because it tells you what you will actually get.
The implemented official features include application launching, suspending and closing, applet launching and closing, the user page and controller support. The settings list is long and only partially implemented, and it includes the console version, the Atmosphere version, the emulated memory card presence, the console nickname, the console timezone, the WiFi connection name and settings, the console language, the console information upload toggle, and toggles for Bluetooth, NFC, automatic application download, automatic console update and wireless LAN, plus the console serial number and the console IP and MAC address.
The general channel and applet messages are partially implemented too, with HOME button detection, power off, sleep and reboot, SD card removal and gamecard failing to mount listed, some of them not yet done.
Then there are the features that are planned, which are auto-sleep after a period of time, several settings, several channel messages and console updating.
And the ones that are explicitly not planned for now, which are eShop functionality, parental control and application updates.
The note under those lists explains the philosophy, and it is the most interesting sentence in the README. A lot of features could be considered in principle, such as save data support, title removing, user management and activity log work, but the philosophy is to mainly avoid those, or more generally features already provided by existing homebrews or potentially providable by them. uLaunch is a custom HOME menu whose aim is to be extended with mostly HOME-menu-related features.
Theming, and the tool that produces it
Extensive themeing support is one of the headline custom features, with backgrounds, icons, background music and many sound effects.
Two paths lead to a theme. If you want to find one, there is a channel dedicated to uLaunch themes on the project's Discord server. If you want to make one, there is a web theme editor hosted on the project page, with a recorded demo in the repository, and the wiki documents the format.
The web editor is the notable part of the design. Building a theme for a console HOME menu normally means editing binary resources, which is a barrier that keeps most people away. A browser based editor removes that barrier, and it fits the rest of the project, which is oriented towards people who want to customise their console rather than only to run software on it.
The theme format is packaged as a file with its own extension, since the Makefile builds the default theme music into an archive named for the version, and the default theme and default theme music directories sit at the repository root next to the assets folder.
Translation is handled through Crowdin, with a crowdin configuration file at the root of the repository. For a project with a user interface that is this configurable, having the strings translatable by the community rather than by the maintainer is the practical choice.
Installing and removing it
The installation is three steps and one warning.
You download the latest release ZIP, copy everything inside it to the root of the SD card, and then launch your custom firmware, with the note that using an emulated memory card or a real one should not make a difference.
The warning is on the first step, and it matters: the project is released and meant to be used with Atmosphere, so using it with different custom firmwares is at your own risk.
The copy step has a helpful detail for people who already have a themed menu. If you have never used uLaunch or any kind of HOME Menu replacement, you would not need to overwrite any files. And you do not need to remove your normal HOME Menu themes, because those live in a romfs directory inside a specific content folder, while the only file uLaunch puts there is its own exefs.nsp.
Removal is documented just as carefully, with an important note telling you to remove only what is mentioned to avoid potential trouble. The first option is the soft one: the uManager tool can disable uLaunch while keeping your custom themes, menu entries and configuration, so you can re-enable it at any moment and no data is removed. The second option is permanent, and means removing the Atmosphere content folder and the ulaunch folder from the SD card, and further removing the uManager files if you want that gone too.
Having a supported way back matters more than it might seem, because the second option is the kind of file deletion that is easy to get wrong on a device whose data you cannot easily restore.
The components and how the build assembles them
The README lists the components, and each one is a separate project with its own role.
uSystem is the core, since the build copies its packaged output into both the Atmosphere content folder and the ulaunch bin folder, which suggests it is the part that replaces the official menu package. uMenu is the graphical interface. uLoader is the loader applet, and the build copies its nso and npdm files into an applet directory. uManager is the tool used to disable uLaunch when you want to go back. uScreen is a separate screen capture tool with builds for Windows, Linux and Mac. uDesigner is the theme editor, and the clean target runs Maven in that project, which tells you the editor is a Java project while the rest is native code.
The Makefile shows the rest of the shape. The version is held in three variables and exported as a single version string, which is then passed into the compile as a set of definitions, so the version is compiled into the binary rather than read at runtime. The output directory is named SdOut and the packaged archive carries the version in its name.
There is a libs directory holding third party code, with Plutonium and the extended libnx and ipc libraries built as separate targets, and there is an arc directory with a Python script that generates result code headers from a resource file, which is how the error messages and their identifiers stay consistent.
The projects directory holds the six components as separate sub-projects, and each one has its own make invocation, which is why the top level file reads as a list of components and a package step rather than as a program.
Maintenance, licence and what to check
The licence is GPL 2.0, with the LICENSE file at the root of the repository, and the project is funded through several channels at once, with Patreon, GitHub sponsors, PayPal and Ko-fi badges in the readme.
On maintenance, the release tags are 1.2.5 from 2026-07-24, 1.2.4 from 2026-06-07 and 1.2.3 from 2026-01-24, and the last push was on 2026-07-24, so the project is actively released with a rolling series of patch versions. The release tag messages themselves are a glimpse of the maintainer's mood, with names such as a support update and a support update that answers an obvious request.
That release naming also tells you something about the project. Version 1.2.x is the same minor line for a long time, and the changes are support for new console and Atmosphere versions rather than new features, which is the release pattern of a project whose users depend on it working with the latest firmware.
Three checks before you install.
That you run Atmosphere, since the README says the project is released and meant to be used with it, and warns about other custom firmwares.
That you have read the removal instructions, because the permanent removal involves deleting folders by path, and the project warns specifically about removing anything else.
And that the theme you chose matches the version you install, since the theme system is closely tied to the resources of the menu it replaces, and the theme channel and the web editor are the places to confirm compatibility.
Editorial conclusion
uLaunch suits a Switch homebrew user who wants a launcher built around their own applications rather than the console's game oriented menu, since the grid, the folders and the direct applet launching are the reason it exists. It is the wrong choice for a stock console or for someone who wants the eShop, parental controls or game updates, all of which the README lists as deliberately out of scope. Verify first that you run Atmosphere, since the project is released and meant to be used with it, that you read the removal instructions before copying files, because installing replaces the official menu, and that the theme you pick works with the version you install.
Frequently asked questions
What does uLaunch replace on the Nintendo Switch?
It replaces the official HOME Menu with an open source, customisable and homebrew-oriented alternative that adds a grid launcher, folders, a user login system, direct homebrew launching and extensive theming.
How do I install uLaunch?
Download the latest release ZIP, copy everything inside it to the root of the SD card, and launch your custom firmware. The README notes the project is released and meant to be used with Atmosphere, so other custom firmwares are at your own risk.
How do I remove uLaunch again?
The uManager tool can disable it while keeping your themes, menu entries and configuration so it can be re-enabled later, or you can permanently remove the atmosphere content folder and the ulaunch folder from the SD card, taking care to remove nothing else.
Does uLaunch support the eShop, parental control or game updates?
No. The README lists eShop functionality, parental control and application updates as not planned to be implemented for now, along with console updating and auto-sleep, which are planned but not yet done.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/xortroll-ulaunch)Was this useful?