nxnative Easy

English · Español

Run your own supported Nintendo Switch games natively on Mac, iPhone and iPad — with Metal graphics, physical controllers and editable touch controls.

Start here

First: install full Xcode from the Mac App Store and open it once. Xcode compiles the games too, so a prebuilt launcher cannot remove this requirement.

Then: paste this single command into Terminal:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/nalancer08/nxnative-easy/main/install.sh)"

It downloads nxnative Easy, installs Homebrew and the missing build tools, compiles your own Mac interface and opens it. Follow the four numbered setup stages and any password or confirmation prompts in Terminal. No Apple developer account is used. If you run setup again, it verifies the new app before replacing your installed version and keeps the previous app as a backup.

Already downloaded this repository? Double-click START-HERE.command in its top-level folder. It performs the same setup; you do not need to find a script under scripts/. If macOS blocks that file, use the Terminal command above.

When the app opens:

  1. Choose iPhone / iPad or Mac.
  2. Choose your own game folder and keys folder.
  3. Click Prepare game.

After setup: open nxnative Easy.app in your home Applications folder. The setup keeps its source checkout separately, so you can delete the downloaded ZIP and folder.

Mac: creates one complete game .app, with its game data included inside; click Open game. No separate RomFS folder to copy. No Sideloadly or iPhone needed. Saves stay in ~/Library/Application Support/nxnative/<title ID>/.

iPhone / iPad: creates an unsigned lightweight IPA; install it with Sideloadly, then copy the game data as shown in the app. See the iPhone/iPad preparation screen.

Required: an Apple silicon Mac (M1 or newer), macOS 26+ and Xcode 26+. The command installs the other tools. You must provide your own games and keys. Compilation can take time, especially for the first game.

The nxnative Easy desktop app

What this version adds

Built on seedds/nxnative. The original project provides the engine, game profiles and compatibility work. nxnative Easy adds:

  • Native Mac app: game-folder selection, progress, cancellation, and buttons for the IPA, RomFS data and Sideloadly.
  • Editable iPhone touch controls: position, size and opacity, saved per game and 2D/3D layout.
  • Lightweight IPA export for iPhone/iPad only: RomFS data live separately; existing outputs and valid caches are preserved.
  • Your own keys: explicitly select the external folder containing your prod.keys. No games or keys are included, downloaded or distributed.
  • Local preparation: no Apple account or company certificate is used to build the desktop app.

We provide source code, a preparation interface and build tools. The output is a local Mac game app, or an unsigned iPhone/iPad IPA that you sign and install yourself with Sideloadly. Games, console keys, Apple signing and universal game compatibility are not provided.

Engine updates and multiplayer

Our main incorporates the upstream revision recorded in the integration review. Future core updates are merged and tested in a separate checkout while preserving our interface and controls. Every accepted game is synchronized across the app, screenshots, notes and both README galleries; CI checks that none are missing. Update now installs our tested releases, rather than unreviewed upstream changes.

The current runtime plays offline. Nintendo online services, LAN/netplay and Windows are not supported. A Nintendo Switch Online subscription does not enable them here. Local controllers on one Mac are a separate feature. How the game code, mods and networking work.

Language

The app starts in English. Choose Español using the selector at the top; your selection is remembered on this Mac. This changes the interface language, not the game's language. Build diagnostics keep their original language.

Updating the app

From version 1.4, the app checks for new releases at launch and every six hours while open. When one is available, click Update now. It downloads the new source and game profiles, builds and verifies the new Mac interface, then restarts it. Progress stays in the window. You can also use nxnative Easy → Check for updates….

The update uses a separate source folder and keeps the previous app as a backup. It does not reset your checkout or modify your game files, keys or saves. Updates are disabled while preparing a game. To apply new engine or profile changes to a previously prepared game, prepare that game again.

Using version 1.3 or earlier? Run the setup command above once, or double-click START-HERE.command. Future updates then appear inside the app.

What happens after Prepare game?

The app prepares the tools and builds for your chosen device. Mac produces a game app with Open game and Show app buttons. iPhone / iPad produces a lightweight IPA and shows the Sideloadly and Finder steps when ready. Your own files and previous outputs stay in the game folder.

Setup keeps a separate source checkout and preserves local edits. Developers can still use scripts/Abrir-interfaz.command.

How the Mac app is built

The launcher uses Xcode's Swift compiler. The desktop app is explicitly ad-hoc signed, locally, with no Apple account, certificate or team (TeamIdentifier is unset). No company account is used. You enter your personal Apple account separately in Sideloadly when signing the iPhone IPA.

The app has an original phone-and-controller icon. Game cards use the existing upstream screenshots in this repository as a support reference; they do not provide or download games.

Install with Sideloadly and Finder

  1. When the IPA is ready, connect your iPhone and click Send to Sideloadly. The app opens the prepared IPA there.
  2. In Sideloadly, click Start using your personal Apple account. If needed, use Show IPA to find the file manually.
  3. On the first installation, click Show game data and copy the complete romfs folder using Finder → iPhone → Files → your game.

For updates, keep the same Apple account and effective bundle ID used in Sideloadly. Install over the existing app; do not uninstall it, to retain its saves. Reuse the existing romfs only when the game data have not changed. The app installs missing build dependencies after Xcode and Homebrew are available, but does not sign or install the iPhone game. Those steps happen in Sideloadly. The app explains them only when the IPA is ready. See the official Sideloadly FAQ.

Included game profiles

The home carousel shows the game profiles in your checkout; it does not provide or download games. You must add your own game files. Click View all at the top right to browse the complete support list. Search by name, version or Title ID; each result links to its game notes. The catalog reads the local profiles each time you open it. The carousel rotates automatically and pauses while you hover over it.

Our own checks cover macOS compilation and packaging, not automatic iPhone gameplay verification. Profiles and gameplay reports come from upstream and may concern Mac or iPhone; read your game's notes. A profile does not guarantee that every game version works on every device.

This base requires iOS/iPadOS 26 or later, an iPhone with A17 Pro or later, or an iPad with M1 or later. Supply your own game files and keys.

78 profiles. See each game's notes for tested versions and devices.

13 Sentinels: Aegis Rim
13 Sentinels: Aegis Rim
~5 GB
13 Sentinels: Aegis Rim (Asia)
13 Sentinels: Aegis Rim (Asia)
~5 GB
Absolum
Absolum
~2 GB
Ace Attorney Investigations Collection
Ace Attorney Investigations Collection
~7 GB
Advance Wars 1+2: Re-Boot Camp
Advance Wars 1+2: Re-Boot Camp
~7.1 GB
AI: THE SOMNIUM FILES
AI: THE SOMNIUM FILES
~8.3 GB
AI: THE SOMNIUM FILES - nirvanA Initiative
AI: THE SOMNIUM FILES - nirvanA Initiative
~11.6 GB
Animal Crossing: New Horizons
Animal Crossing: New Horizons
~10.5 GB
ANIMAL WELL
ANIMAL WELL
~54 MB
ASTRAL CHAIN
ASTRAL CHAIN
~9.7 GB · 60 fps target with 1.0.1
Balatro
Balatro
~82 MB · played by touch
BALL x PIT
BALL x PIT
~1.1 GB
Bayonetta
Bayonetta
~8.8 GB
Bayonetta 2
Bayonetta 2
~12.5 GB
Bayonetta 3
Bayonetta 3
~14.2 GB
Big Brain Academy: Brain vs. Brain
Big Brain Academy: Brain vs. Brain
~0.8 GB
Brain Memory Training Academy
Brain Memory Training Academy
~0.1 GB
Captain Toad: Treasure Tracker
Captain Toad: Treasure Tracker
~2 GB
Catherine: Full Body
Catherine: Full Body
~14 GB
Celeste
Celeste
~0.9 GB
Cuphead
Cuphead
~5 GB
DARK SOULS: REMASTERED
DARK SOULS: REMASTERED
~4 GB · 60 fps with 1.0.3
Digimon Story Cyber Sleuth: Complete Edition
Digimon Story Cyber Sleuth: Complete Edition
~5 GB
Donkey Kong Country Returns HD
Donkey Kong Country Returns HD
~11.6 GB
Donkey Kong Country: Tropical Freeze
Donkey Kong Country: Tropical Freeze
~7.3 GB
DRAGON QUEST VII Reimagined
DRAGON QUEST VII Reimagined
~5.9 GB
DRAGON QUEST XI S: Echoes of an Elusive Age – Definitive Edition
DRAGON QUEST XI S: Echoes of an Elusive Age – Definitive Edition
~15 GB · 60 fps with 1.0.4
FINAL FANTASY RESONANCE
FINAL FANTASY RESONANCE
~10 GB · 60 fps with 1.0.1
FINAL FANTASY TACTICS - The Ivalice Chronicles
FINAL FANTASY TACTICS - The Ivalice Chronicles
~11 GB
Fire Emblem Engage
Fire Emblem Engage
~15 GB · 60 fps with 2.0.0
Fire Emblem: Three Houses
Fire Emblem: Three Houses
~13 GB · 60 fps with 1.2.0
Ghost Trick: Phantom Detective
Ghost Trick: Phantom Detective
~3 GB
Hades
Hades
~4 GB
Hades II
Hades II
~4 GB
Hollow Knight: Silksong
Hollow Knight: Silksong
~6.4 GB
Hyrule Warriors: Age of Calamity
Hyrule Warriors: Age of Calamity
~15 GB · 60 fps with 1.3.0
Kirby and the Forgotten Land
Kirby and the Forgotten Land
~6.4 GB
Luigi's Mansion 3
Luigi's Mansion 3
~7.5 GB · 60 fps with 1.4.0
Mario Kart 8 Deluxe
Mario Kart 8 Deluxe
~11.9 GB · no Mii heads
Mario + Rabbids® Sparks of Hope
Mario + Rabbids® Sparks of Hope
~9.8 GB
Mario vs. Donkey Kong
Mario vs. Donkey Kong
~1.6 GB
Metroid Dread
Metroid Dread
~5 GB
Monster Hunter Rise
Monster Hunter Rise
~22 GB · 60 fps with 16.0.2
Monster Train 2
Monster Train 2
~1.6 GB · 60 fps with 1.1.1
NieR:Automata The End of YoRHa Edition
NieR:Automata The End of YoRHa Edition
~10.9 GB · 60 fps with 1.0.3
OCTOPATH TRAVELER
OCTOPATH TRAVELER
~3.6 GB
OCTOPATH TRAVELER 0
OCTOPATH TRAVELER 0
~4 GB · 60 fps with 1.0.5
OCTOPATH TRAVELER II
OCTOPATH TRAVELER II
~5.9 GB · 60 fps with 1.1.1
Paper Mario: The Thousand-Year Door
Paper Mario: The Thousand-Year Door
~5 GB · 60 fps with 1.0.1
Patrick's Parabox
Patrick's Parabox
~0.2 GB
Persona 5 Royal
Persona 5 Royal
~14.9 GB
Pikmin 4
Pikmin 4
~10.8 GB
Pokémon Brilliant Diamond
Pokémon Brilliant Diamond
~4.6 GB · 60 fps with 1.3.0
Pokémon Legends: Z-A
Pokémon Legends: Z-A
~6 GB
Pokémon Shield
Pokémon Shield
~12.4 GB
Pokémon Sword
Pokémon Sword
~12.4 GB
Portal
Portal
~2.6 GB
Raging Loop
Raging Loop
~0.9 GB
Rhythm Heaven Groove
Rhythm Heaven Groove
~3 GB
ROMANCE OF THE THREE KINGDOMS 8 REMAKE
ROMANCE OF THE THREE KINGDOMS 8 REMAKE
~16.8 GB · controller only
Sea of Stars
Sea of Stars
~5.1 GB
SHIN MEGAMI TENSEI V: Vengeance
SHIN MEGAMI TENSEI V: Vengeance
~14.6 GB · 60 fps with 1.0.3
Stardew Valley
Stardew Valley
~0.6 GB
STEINS;GATE RE:BOOT
STEINS;GATE RE:BOOT
~6 GB
Super Mario 3D World + Bowser's Fury
Super Mario 3D World + Bowser's Fury
~3 GB
Super Mario Bros. Wonder
Super Mario Bros. Wonder
~4 GB
Super Mario Galaxy
Super Mario Galaxy
~3 GB
Super Mario Galaxy 2
Super Mario Galaxy 2
~3 GB
Super Mario Odyssey
Super Mario Odyssey
~6 GB
Super Smash Bros. Ultimate
Super Smash Bros. Ultimate
~17.5 GB · offline
Taiko Risshiden V DX
Taiko Risshiden V DX
~3.3 GB · Japanese · played by touch
The Great Ace Attorney Chronicles
The Great Ace Attorney Chronicles
~4 GB
The Legend of Zelda: Breath of the Wild
The Legend of Zelda: Breath of the Wild
~16 GB · 60 fps with 1.9.0
The Legend of Zelda: Echoes of Wisdom
The Legend of Zelda: Echoes of Wisdom
~7.8 GB
The Legend of Zelda: Link's Awakening
The Legend of Zelda: Link's Awakening
~6 GB
The Legend of Zelda: Tears of the Kingdom
The Legend of Zelda: Tears of the Kingdom
~17 GB · 60 fps with 1.4.3
Unicorn Overlord
Unicorn Overlord
~4 GB
Xenoblade Chronicles 3
Xenoblade Chronicles 3
~19.2 GB

Xbox, PS5 and PS4 controllers

The game apps use Apple's GameController framework on Mac, iPhone and iPad:

  • Xbox: Bluetooth-capable Xbox Wireless Controller (model 1708), Series X/S and Elite Series 2.
  • PS5: DualSense and DualSense Edge.
  • PS4: DualShock 4.

The preparation app automatically shows connected controller names and Ready on this Mac when Apple exposes a compatible gamepad profile. It updates when you connect or disconnect a controller. The Mac controller panel is hidden when you choose iPhone/iPad. Pair a controller directly with the device where you will play.

In Mac mode, click Test controller to see live input: buttons and D-pad light up, both sticks move, and trigger bars show pressure. Input received! appears only after input is detected. If several controllers are connected, choose which one to test. The tester reads input only while its window is visible and does not take input handlers away from games.

Live controller test on Mac

Pair your controller in the device's Bluetooth settings, then open the prepared game. No extra driver or launcher setting is needed. Sticks, D-pad, face buttons, shoulders, triggers, stick clicks and menu buttons are mapped automatically. On iPhone/iPad, touch controls hide while a physical controller is connected.

Face buttons follow Nintendo positions, rather than the letters printed on an Xbox controller: Switch A = Xbox B / PlayStation Circle; Switch B = Xbox A / Cross; Switch X = Xbox Y / Triangle; Switch Y = Xbox X / Square.

Standard gamepad input is supported; DualSense adaptive triggers, controller motion and touchpad gestures are not mapped. Rumble depends on the features exposed by the controller and OS. Mac supports separate local players when the game allows it; iPhone/iPad merge controllers into player 1.

See Apple's Xbox pairing guide and PlayStation pairing guide. This support was checked in the input code and automated tests; these specific physical models have not been tested in this checkout.

Make the controls your own

Inside the game, tap Edit controls. Move buttons, adjust their size and opacity, then tap Save. Cancel discards edits; Reset control / Reset all restores defaults. Each game has four named profiles, each with separate 2D and 3D layouts. Use the profile menu to switch or rename one (for example iPhone, iPad or Large), and Save as… to copy both layouts into another slot. Switching warns before discarding unsaved edits; replacing a profile asks first. Your previous layout is preserved in Profile 1. Profiles are stored locally on each device. The game continues running while you edit. The desktop language selector does not translate this in-game editor.

Cloud-save API prototype

A separate portable API prototype supports private snapshot versions, upload conflicts and expiring/revocable sharing. Native cloud login, upload and restore are not connected yet; no server or identity-provider account has been deployed. Game saves and control profiles continue to stay on your device. This is unrelated to online multiplayer.

Guides, commands and technical details

Based on seedds/nxnative, with our touch editor and preparation workflow. The MIT license, original acknowledgements and third-party licenses are retained. Personal additions are authored by nalancer08; upstream commits retain their original authors.

S
Description
Run supported Nintendo Switch games natively on Mac, iPhone & iPad. One-command setup, complete Mac apps, lightweight iOS builds, Xbox/PS4/PS5 controllers and editable touch controls. Built on seedds/nxnative. Bring your own games and keys.
Readme MIT
108 MiB
0 Stars 1 Watchers 0 Forks
Languages
Objective-C 31.3%
C 28.4%
Python 28.4%
Swift 5.7%
Assembly 2.6%
Other 3.5%