Unofficial guide. Not run by the nxnative developers and not affiliated with Nintendo or Apple. This site hosts no files, games, keys or apps; the code is on GitHub.

nxnative settings explained

Before the game starts, an nxnative app shows one settings screen with what that game supports, grouped into Game, Controls and Performance. This page explains each setting in plain words, from the official settings documentation (checked October 27, 2026).

Advertisement

Each game comes with the settings it was tested with, and those are the defaults you see first. A setting you change is kept, also when a later build ships other defaults; one you leave alone follows the newest build’s tested defaults. Reset to tested defaults at the bottom puts everything back.

Game

SettingWhat it does
Frame rate30 or 60 fps, in games whose speed the app controls (Breath of the Wild, Tears of the Kingdom and a few others). 60 is smoother; 30 is what the Switch ran and saves battery. The game runs at real speed either way.
Render scale50 to 100 % of the 3D picture size. Lower is lighter on the GPU but blurrier; the HUD and text stay sharp. Only games the app can scale offer it.
Console modeDocked renders at the Switch’s TV resolution, Handheld at its lower handheld resolution, which is lighter and can give a higher frame rate.
UpscalingStandard (smooth scaling, the default) or MetalFX (Apple’s upscaler, sharper edges and text, more GPU time and heat).
Game languageOne of the game’s own languages, without repacking.
Frame-rate counterShows frames per second at the top left (iPhone and iPad).

Controls

SettingWhat it does
Touch feedbackA light tap from the phone when you press an on-screen button.
Game rumbleThe game’s vibration, on the phone or a connected controller.
Rumble strength0 to 300 %.
Rumble cutoffA controller vibration weaker than this stays off. Off by default; Mario Kart 8 Deluxe needs about 45 % to rumble only on crashes and drifts with some controllers.
Advertisement

Performance

These change how frames reach the screen and how the GPU’s work is prepared. The tested defaults are a good start; change them when a game stutters, runs hot or feels laggy.

SettingWhat it doesWhen to change it
Frame bufferingCopies each finished frame into a buffer so the game can start the next one at once. Keeps the GPU busy, so iOS does not lower its clock.Turn off if the controls lag and the game holds its frame rate without it. Costs up to one frame of latency.
Metal 4 pipelinesKeeps built GPU pipelines in an archive on the device and builds most new ones in microseconds, so scenes stutter less.Turn off only if a game crashes or runs out of memory with it.
Pipeline prebuildBuilds a stand-in for every shader pair before the first frame, behind a “Preparing pipelines” screen (a few minutes, once). Needs Metal 4 pipelines.Turn off to skip the wait; new scenes then stall briefly the first time.
Encode threadConverts the game’s graphics commands on a thread of its own. On by default on iPhone, off on Mac.Leave it on unless a game misbehaves.
Hold frames when lateAt 60 fps, drops to an even 30 for a while when frames come late, instead of a mix of 30 and 60.Turn off if the game often falls to 30 although it is only slightly late.
Performance HUDApple’s overlay with frame rate, frame and GPU times and memory.For testing; leave off for play.

On a Mac

A Mac app shows the same settings in a window before the game starts, with the most used ones first (frame rate, render scale, console mode, language, display mode, rumble) and the rest under Advanced settings. Display mode picks a window or fullscreen; ⌃⌘F switches while you play. Turn off “Show this window at launch” to start straight away, and hold Option while the app opens to see the window again.

Settings in a file

A line in Documents/env.txt (iPhone: Files app, under the app’s name; Mac: ~/Library/Application Support/nxnative/<title ID>/env.txt) wins over the settings screen. Some of the switches:

SettingLine
Frame rateDM_FPS_TARGET=30 or 60
Console modeDM_OPMODE=1 docked, 0 handheld
UpscalingDM_PRESENT_UPSCALE=metalfx or off
Frame bufferingDM_PRESENT_SNAP=1 or 0
Frame-rate counterDM_SHOW_FPS=1
Skip the settings screenDM_LAUNCHER=0

The full list is in the official settings documentation.

Advertisement

Settings questions

What is MetalFX in nxnative?

An Upscaling option. A game that renders below the screen’s resolution is scaled up to the screen; Standard scales smoothly, MetalFX uses Apple’s MetalFX upscaler, which sharpens edges and text. It costs GPU time, so for long sessions at 60 fps on an iPhone the project suggests leaving it at Standard.

Should I turn Frame buffering off?

Only if the controls feel laggy and the game holds its frame rate without it. It adds up to one frame of latency (about 28 ms on an iPhone 17 Pro Max), but on that phone Breath of the Wild fell to 30 fps without it and held 60 with it.

Why does the first start say “Preparing pipelines”?

That is Pipeline prebuild. It builds a stand-in for every pair of shaders the game has, so new scenes do not stutter. It waits a few minutes once, and again after a game or app update that brings new shaders. You can turn it off to skip the wait, at the cost of short stalls in new scenes.

How do I go back to the default settings?

Tap Reset to tested defaults at the bottom of the settings screen. Each game comes with the settings it was tested with, and a setting you leave at its default follows the defaults of newer builds.

Can I set settings without the settings screen?

Yes. Lines such as DM_FPS_TARGET=30 in Documents/env.txt (in the Files app, under the app’s name) override the screen, which then shows them greyed out. Fully close and reopen the app after editing the file.

Next: how to use nxnative or the games list.