App Details
Custom, open-source replacement/reimplementation for Nintendo Switch's HOME menu (qlaunch), extending it with amazing, homebrew-oriented functionality!
uLaunch is a very ambitious project, consisting on two custom library applets, a custom system application and a custom system applet, in order to replace the console's HOME menu with a custom, homebrew-oriented one.
This isn't any kind of HOME menu extension, injection, patch, etc. uLaunch is a complete reimplementation, 100% open-source, which also takes over eShop and Parental control applets and flog system title (all of them are pretty much useless with this reimpl) for its extended functionality.
The project is licensed as GPLv2.
For those who are interested in how the UI was done, this project is, like Goldleaf, a good example of how powerful Plutonium libraries can be in order to make beautiful UIs.
Features
List of HOME menu features uLaunch has:
Proper launching and foreground management: launch, suspend and close titles and applets
Proper general channel handling (some of it might be not implemented): sleep, shutdown, reboot, HOME menu press detection...
Settings:
Show connected WiFi network's name
Open connection applet in case user wants to change network settings
Change console's language and show active one
Change console's nickname and show current one
User features:
Allow creating user on the startup menu
Show user's page (in order to edit nickname, icon, friends...)
Homebrew support
Launching as applets (no need of Album!)
Launching as applications (no need of any titles to do so!)
Custom basic homebrew menu
Option to add custom NRO accessors to main menu (homebrew or custom items easily accessible, no more need of forwarders!)
UI
Themes (different to official HOME menu themes/NXThemes)
Custom icons, menu assets and graphics (custom images, colors, sizes, positions...), background...
Custom background music and sound effects!
Folders in order to keep your main menu organized!
Users
PC-like login on startup (select user and use it for everything, log off, register/change/remove password...)
User password support! (up to 15 characters)
Miscellaneous extras
Web browsing (via web-applet) directly from the main menu!
Console screen capturing from PC itself (Windows-only) via USB-C cable and uViewer tool!
Disclaimer
Homebrew-as-application 'flog' takeover
uLaunch allows you to launch homebrew as an application, taking advantage of the system's 'flog' built-in application title, which was stubbed but not removed, thus it's content can be overriden via LayeredFS and launched.
Since launching this title should be impossible, it might involve ban risk. uLaunch has this option disabled by default, so enable and use it use it at your own risk. Always make youre you're safe from bans (by using tools like 90DNS) before using uLaunch to avoid any possible risks.
Changelog
1.2.1
Some changes/fixes below are still experimental (particularly for users with a lot of games installed), so please report any weird/new issues you find!
Recompiled with Atmosphère v1.9.1 support (20.1.0)
Introduced a new game icon/NACP caching system to circumvent issues with 20.x icon/NACP loading slowdowns:
- Icon/NACP data is stored in-memory in uSystem, which is why uSystem's memory footprint increases from 12MB to around 40MB: this should, in theory, allow cache for up to 200 installed games. If anyone happens to have more than this amount installed, then (even though this is already an absurd amount) feel free to open an issue to request more cache memory (we could theoretically use up to around 50MB)
- Don't worry, since this shouldn't impact anything: we are already using less memory than the base HOME menu (which is around 50MB) even considering the resulting size of the uSystem binary, we have been for years and still are, so (as always) things will be the same as with regular HOME menu, maybe even smoother
Fixed a bug causing major slowdowns for users with many games (even with around 10 it was noticeable), also related to 20.x changes, where a given command was called every frame (for every app) and made uMenu slow down whenever too many games were in view in the main menu (the value is now read just once when the apps are loaded)
Fixed a dumb bug where uMenu would only try to cache the active theme if it was not cached yet... while uSystem was wiping ALL cache every reboot, thus the theme was being cached every boot
Fixed a weird bug where (sometimes?) the default theme would be considered outdated