PoloNX/SwitchU and the Underground Art of Console UI Engineering

How a custom C++ framework and a clever two-process architecture hijacked the Nintendo Switch to resurrect the beloved Wii U interface.

8 min read · PoloNX/SwitchU

A wide shot of a sterile white waiting room with a prized-open blast door revealing a chaotic, lively town square.
The sterile minimalist environment of the Nintendo Switch OS breached to reveal the chaotic social density of the Wii U.
Key Takeaways

The Nostalgia Hack

The Nintendo Switch operating system, Horizon OS, is famously sterile. It is a silent, minimalist grid designed to get out of the way as quickly as possible. The Wii U, by contrast, was a chaotic, socially dense, audio-rich environment anchored by the WaraWara Plaza. For a specific subset of developers, the silence of the Switch is a canvas begging to be painted over.

A project to reimplement qLaunch with a new interface resembling that of the Wii U is currently in development for the Switch Here is a preview of SwitchU, developed by @PoloNX https://t.co/5pbxec1Ikc

SwitchTools, SwitchTools, 27,212 followers · @SwitchTools on X

SwitchU is not a simple skin. It is a fundamental system-level modification that replaces the native home menu entirely. Achieving this required bypassing the artificial constraints of a console designed to prevent exactly this kind of tampering.

The Two-Applet Dance

The hardest technical hurdle in replacing the Switch home menu is the console's strict applet model. Horizon OS only permits one Library Applet to hold focus at a time. If a custom menu tries to launch a game, the system must kill the menu to free up resources, leaving nothing to return to.

The Inter-Process Communication (IPC) bridge that allows SwitchU to bypass the single-applet limitation.

SwitchU solves this by splitting itself in two. It runs a persistent background daemon as a System Applet and an on-demand UI as a Library Applet. When the user presses the HOME button, the daemon intercepts the signal and spawns the menu. When a game launches, the menu hands control back to the daemon, which orchestrates the transition.

Forging NXUI on Locked Metal

A mechanical loom weaving translucent glass over a rigid circuit board.
The custom NXUI framework builds a glassy interface directly on top of the Switch's bare metal hardware.

Generic UI libraries like Dear ImGui are too heavy or aesthetically rigid to recreate the Wii U's frosted glass look. Instead, the developer built NXUI, a bespoke C++20 framework. It abstracts rendering and input handling, pushing pixels through custom GLSL shaders via the deko3d backend to leverage the Switch's Maxwell GPU.

The Silent Guardian of Save Data

A close-up of a bank vault door mechanism with a robotic arm arranging nested folders before a key is inserted.
The daemon's invisible job of perfectly arranging the save data hierarchy before allowing a game to launch.

If a custom homebrew launcher tries to start a game, it usually crashes. The official OS normally handles the invisible work of building nested save data directories before a title boots. SwitchU must do this manually. The code meticulously constructs the Account, Device, and Cache data hierarchies dynamically, ensuring the game finds exactly what it expects upon launch.

The Xmake Escape Hatch

Developing a system-level replacement on a console means every bug causes a hard crash and a tedious reboot. To maintain velocity, SwitchU utilizes Xmake to manage its complex build targets.

FeatureStandard HomebrewSwitchU Architecture
Execution ContextForeground AppSystem Applet + Library Applet
System PrivilegesUserlandRoot/Admin equivalent
Crash ConsequenceReturn to OSHard Console Reboot
Rendering TargetHigh-level wrappersLow-level deko3d

By toggling a single flag, the developer can collapse the entire multi-process system into a safe, monolithic application for rapid UI iteration, saving countless hours of reboot cycles.