Migrate NX2navi and Hookshot saves safely

Every Switch 2 Ocarina of Time runner writes identical raw save files: account.sav, option.sav, and slot_00/progress.sav. Moving from NX2navi, Hookshot, Lichii, Eden, or Eglantine into Triforce takes under a minute and backs up existing progress automatically.

100%Raw slot binary compatibility
save-backups/Automatic safety copies
exit 86NX2navi v0.12.0 bridge rollback
Samsung 980 PRO M.2 NVMe solid-state drive
Triforce Setup v0.3.7 auto-discovers NX2navi profiles on Windows and writes timestamped copies into save-backups/ before importing.

NX2navi v0.12.0 to Triforce handover workflow

When NX2navi updated to v0.12.0 on Windows, its launcher became a bridge window with dedicated path helpers while leaving your existing ocarina.exe build untouched.

Flush pending writes

Check profile\save-tx first

If your NX2navi folder contains a non-empty profile\save-tx journal from an interrupted exit, click Play NX2navi once and quit cleanly from the title screen so the journal flushes into profile\save\<account>\.

Run Convert saves

Auto-discovery in Setup v0.3.7

Open TriforceSetup.exe and click Convert saves. On Windows, Setup automatically locates %LOCALAPPDATA%\Programs\NX2navi\game\profile\save\<account>\ (or you can paste the path from NX2navi's Copy path button).

Keep Play NX2navi when needed

Code patches & Linux v0.10.1

Because Triforce AOT-compiles ARM64 code into C, runtime .pchtxt and .ips binary patches do not apply. Keep Play NX2navi (or NX2navi's native Linux v0.10.1 AppImage) alongside Triforce whenever you want code-patch experiments.

Interactive save path & CLI finder

Select your previous runner in the dropdown to view exact Windows and Linux source directories, Triforce target folders, and scripts/oot_saves.py commands.

Generated triforce_options.ini
; Generated for Triforce (place beside Triforce.exe)
[graphics]
quality_preset = 3
output_res = 1
resolution = 0
upscaling = 2
sharpness = 35
frame_generation = 0
frame_pacing = 1
ultrawide = 0
handheld_profile = 0
fullscreen = 1
fps_counter = 0

[gameplay]
game_speed = 1
text_speed = 0
mouse_camera = 1
controller_in_background = 0
Save folder paths & CLI command
Source (NX2navi):
  Windows: %LOCALAPPDATA%\Programs\NX2navi\game\profile\save\<account>\
  Linux:   ~/Games/Ocarina/profile/save/<account>/

Triforce target:
  Windows: <Triforce game folder>\user\save\<user id>\
  Linux:   ~/.local/share/hookshot/save/<user id>/

CLI helper:
  python -I scripts/oot_saves.py import nx2navi --keep-settings

Start and quit NX2navi once before copying if profile\save-tx exists so pending transactions flush cleanly.

Save directories across Switch 2 runners

Inside every profile directory listed below, look for account.sav, option.sav, and numbered slot folders slot_00 through slot_NN containing progress.sav and caption.sav.

Runner Windows Save Path Linux Save Path
Triforce / Hookshot <game folder>\user\save\<user id>\ ~/.local/share/hookshot/save/<user id>/
NX2navi %LOCALAPPDATA%\Programs\NX2navi\game\profile\save\<account>\ ~/Games/Ocarina/profile/save/<account>/
Lichii / Fritchii / Eden / Orchid %APPDATA%\eden\nand\user\save\0000000000000000\<profile>\0400486024DEC000\ ~/.local/share/eden/nand/user/save/0000000000000000/<profile>/0400486024DEC000/
Eglantine %APPDATA%\eglantine\nand\user\save\0000000000000000\<profile>\0400486024DEC000\ ~/.local/share/eglantine/nand/user/save/0000000000000000/<profile>/0400486024DEC000/

Command-line migration with scripts/oot_saves.py

# List every detected Switch 2 Ocarina of Time profile on disk
python -I scripts/oot_saves.py list

# Preview importing NX2navi slots without touching option.sav
python -I scripts/oot_saves.py import nx2navi --keep-settings --dry-run

# Import for real (backs up existing Triforce slots automatically)
python -I scripts/oot_saves.py import nx2navi --keep-settings

Controllers tested with SDL presets

Triforce maps Xbox, PlayStation, and Switch-layout controllers natively in Controls and supports background input.

8BitDo Ultimate 2C Wireless Controller

Hall-effect sticks and triggers with low-latency 2.4G dongle for Windows and Linux SDL input.

Check on Amazon

GameSir Super Nova Hall-Effect Gamepad

Drift-resistant Hall sensors, swappable ABXY layout, and quiet membrane face buttons for Ocarina melodies.

Check on Amazon

8BitDo Pro 2 Bluetooth Gamepad

Symmetrical dual-stick layout with Switch and X-Input modes plus rear paddles for quick camera centering.

Check on Amazon

GuliKit KK3 Max Wireless Controller

TMR electromagnetic sticks, 1000 Hz wired/wireless polling, and Switch-layout face button caps included.

Check on Amazon

Affiliate disclosure: As an Amazon Associate, triforcerecomp.wiki earns from qualifying purchases at no added cost to you.