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).
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
| Setting | What it does |
|---|---|
| Frame rate | 30 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 scale | 50 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 mode | Docked renders at the Switch’s TV resolution, Handheld at its lower handheld resolution, which is lighter and can give a higher frame rate. |
| Upscaling | Standard (smooth scaling, the default) or MetalFX (Apple’s upscaler, sharper edges and text, more GPU time and heat). |
| Game language | One of the game’s own languages, without repacking. |
| Frame-rate counter | Shows frames per second at the top left (iPhone and iPad). |
Controls
| Setting | What it does |
|---|---|
| Touch feedback | A light tap from the phone when you press an on-screen button. |
| Game rumble | The game’s vibration, on the phone or a connected controller. |
| Rumble strength | 0 to 300 %. |
| Rumble cutoff | A 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. |
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.
| Setting | What it does | When to change it |
|---|---|---|
| Frame buffering | Copies 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 pipelines | Keeps 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 prebuild | Builds 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 thread | Converts 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 late | At 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 HUD | Apple’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:
| Setting | Line |
|---|---|
| Frame rate | DM_FPS_TARGET=30 or 60 |
| Console mode | DM_OPMODE=1 docked, 0 handheld |
| Upscaling | DM_PRESENT_UPSCALE=metalfx or off |
| Frame buffering | DM_PRESENT_SNAP=1 or 0 |
| Frame-rate counter | DM_SHOW_FPS=1 |
| Skip the settings screen | DM_LAUNCHER=0 |
The full list is in the official settings documentation.
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.