# Ultrahand Overlay is a scriptable menu layer over the Switch

> Ultrahand Overlay is a fully scriptable overlay menu for the Nintendo Switch, built on libultrahand and usable as a drop-in replacement for Tesla Menu, with an INI scripting environment that covers file operations, downloads, JSON and hex editing and system control. It suits a homebrew user who wants to run overlays and packages from a hotkey, and it requires a specific Horizon OS version.

**ppkantorski/Ultrahand-Overlay** — The fully craft-able Nintendo Switch overlay executor.

- Repository: https://github.com/ppkantorski/Ultrahand-Overlay
- Stars: 695 · Forks: 45
- Language: C++
- License: GPL-2.0
- Published: 2026-10-21 · Updated: 2026-10-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/ppkantorski-ultrahand-overlay

## A drop-in replacement for Tesla Menu

Ultrahand Overlay is described as a fully scriptable overlay menu ecosystem for the Nintendo Switch, accessible instantly via hotkey from any game or application, providing a custom command language for managing files, configurations and system settings. The compatibility claim is the important one for anyone switching. It is built on libultrahand, an enhanced fork of libtesla, and Ultrahand is a full drop-in replacement for Tesla Menu, with every existing Tesla overlay, in the .ovl format, working without modification. That matters because the Tesla overlay ecosystem was large, and a replacement that dropped it would be a dead end. The user-facing feature list covers a hotkey or swipe gesture with no game suspension required, launching and managing overlays and packages with assignable per-item key combos, installing and running community packages from the Ultrahand Packages repository, control of volume up to 150 percent via a bundled audio patch, backlight and system settings on the fly, real-time progress feedback for downloads, copies and installs, full touch support including scrolling, tapping, long-tap and swipe gestures, customizable themes, wallpapers, sound packs and layout, and a toast notification system where packages and external sysmodules can push notifications through JSON .notify files.

## The ecosystem is a list of overlays with named creators

The overlay ecosystem is listed in a table with the creator for each, and the range shows what the platform has become. UltraGB is a Game Boy and GBC emulator running on top of any game, and Tetris is a fully playable Tetris running as an overlay, both by ppkantorski. sys-tune is a background music player by HookedBehemoth, Status Monitor shows real-time CPU, GPU and RAM, temperatures, battery and frequency statistics by masagrator, and FPSLocker by the same author handles custom FPS targets and display refresh rates for retail games. sys-clk from the retronx-team does per-game CPU, GPU and memory overclocking and underclocking, ovl-sysmodules by WerWolv toggles system modules and monitors memory usage, QuickNTP by WerWolv and nedex does one-tap NTP time sync, Fizeau by averne adjusts colour temperature, saturation, gamma and contrast, and NX-FanControl by Zathawo provides custom fan curve control. There is a browser-based Wallpaper Designer for cropping, adjusting and exporting ready to drop .rgba wallpapers at 448 by 720, and a fuller list of overlays is linked from the author's profile. So the tool is not just an application, it is a platform with a plugin ecosystem attached to it.

## The scripting environment is the real product

For package developers the README describes a rich INI-based GUI scripting environment, and the list is long enough to be worth walking through. There is launch integration with assignable hotkey combos per package, hide and star state, and boot and exit package hooks through boot_package.ini and exit_package.ini. Overlay control can launch overlays, execute package sections, navigate back and exit to the menu. The dynamic UI supports toggles, sliders, dropdowns and tables, drawn directly or loaded from a text file, along with rich toast notifications carrying title, duration, alignment and icon, set-footer, and page, theme and wallpaper refresh. There is an opt-in status bar widget for clock, temperature and battery, and package UI strings are automatically translated at render time based on the active system language. Notifications can be pushed inline from scripts with notify and notify-now commands, and dropping a .notify JSON file into /config/ultrahand/notifications/ queues a persistent API notification that displays until dismissed. Placeholders pull from INI, JSON, hex, list, file and timestamp sources, plus hardware information such as ams_version, hos_version, title_id, build_id, ram_vendor, local_ip, volume and backlight, and there are math and string transforms.

## Conditional logic, file operations and the system controls

The remaining developer features are the ones that make an overlay usable as a maintenance tool. Conditional logic covers try blocks, path_exists, and hardware guards for erista and mariko, along with version comparisons. File operations cover copy, move, delete, rename, mkdir, touch, mirror, compare, flag and dot-clean. Download and extraction supports downloading with retry and unzip, and it performs a one-time NTP sync to pool.ntp.org on the first download to prevent SSL handshake failures, which is a small detail that tells you about the deployment environment. INI editing can get and set values and keys, add, rename and remove sections and keys, and do pattern-matched bulk edits. JSON editing can get and set values and keys. Hex editing works by offset, swap, string, decimal, reversed decimal, custom pattern offset and hex pattern replacement. Mod conversion turns .pchtxt files into .ips or the Atmosphere cheat format, which is the one feature in the list that sits closest to the boundary of what the project is for, since it handles cheat format conversion. System control covers reboot with Hekate boot, ini, UMS and payload targets, shutdown, volume, backlight and region.

## Building it, and what the tree tells you

The build is a Makefile driven Nintendo Switch homebrew project, and the Makefile shows the toolchain requirement immediately, since it errors out with a message asking you to set DEVKITPRO in your environment, and then includes the switch_rules from the devkitPro libnx directory. The project metadata carries the licensing and the attribution, with the header stating it is licensed under GPLv2 with copyright 2023 to 2026 ppkantorski, and the repository has a separate SUB_LICENSE file next to the main LICENSE, so there are two terms to read. The tree is wide, which suits a homebrew application with an ecosystem, with source/, common/, lib/, assets/, extra/, lang/, themes/, wallpapers/, sounds/ and .sounds/ for sound packs, payloads/, debug/, examples/ and a .pics/ directory for the documentation images. The examples/ directory holds named packages such as Broomstick, Cool Curves, Easy Installer, Host Guard, Memory Config, Mod Master, OC Toolkit and l4t_reboot, alongside a package.ini and a README, so they are working package templates rather than screenshots. The releases are v2.5.3, v2.5.2 and v2.5.1 through 2026, and the last push was on 2026-10-17, with the target stated as HOS 16.0.0 and later.

## Conclusion

Adopt Ultrahand Overlay if you already run Switch homebrew and want an overlay layer that does not suspend the game, that can be scripted rather than clicked through, and that accepts the existing Tesla overlays. Do not adopt it as a stock console application, since it is homebrew and depends on a specific Horizon OS version. Verify first that your system meets the stated HOS 16.0.0 or later requirement, that the overlays and packages you want exist in the ecosystem repositories, and that you read the licence files carefully, since the repository ships both a GPLv2 LICENSE and a separate SUB_LICENSE file.

## FAQ

### Do existing Tesla overlays work with Ultrahand Overlay?

Yes. Ultrahand is built on libultrahand, an enhanced fork of libtesla, and is a full drop-in replacement for Tesla Menu, so every existing Tesla overlay in the .ovl format works without modification. The project is a fully scriptable overlay menu ecosystem, accessible instantly via hotkey from any game or application, with no game suspension required.

### What can the Ultrahand Overlay scripting environment do?

It covers launch integration with per-package hotkeys and boot and exit hooks, overlay control, a dynamic UI of toggles, sliders, dropdowns and tables, toast notifications, a status bar widget, automatic translation of package UI strings, hardware and file placeholders, conditional logic with try blocks and hardware guards, file operations, downloads with retry, and get or set editing of INI, JSON and hex data, along with system control for reboot, shutdown, volume, backlight and region.

### What hardware does Ultrahand Overlay need?

The project targets Nintendo Switch systems running Horizon OS 16.0.0 or later, as stated in the README title. The build itself is standard Nintendo Switch homebrew and needs devkitPro, with the Makefile refusing to run until DEVKITPRO is set in the environment.

### What licence does Ultrahand Overlay use?

The Makefile header states the project is licensed under GPLv2 with copyright 2023 to 2026 ppkantorski, and the repository contains both a LICENSE file and a separate SUB_LICENSE file, so both sets of terms are worth reading. The project is distributed through GitHub releases and is listed on the HB App Store.

## Sources

- [Issues](https://github.com/ppkantorski/Ultrahand-Overlay/issues)
- [License: GPL-2.0](https://github.com/ppkantorski/Ultrahand-Overlay/blob/main/LICENSE)
- [ppkantorski/Ultrahand-Overlay on GitHub](https://github.com/ppkantorski/Ultrahand-Overlay)
- [README](https://github.com/ppkantorski/Ultrahand-Overlay/blob/main/README.md)
- [Releases](https://github.com/ppkantorski/Ultrahand-Overlay/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/ppkantorski-ultrahand-overlay
