Code Lab
OOT SW2SE Explained: Ocarina of Time Save Editing on GitHub
CODE LAB · PROJECT SPOTLIGHT
OOT SW2SE C# + JavaScript · v1.0.0
Inspect save fields, inventory flags, and an offline Windows editor.
Preview: GitHub · Traiver/OOT-SW2SE
OOT SW2SE is Traiver’s publicly available Ocarina of Time save editor. It turns supported save data into editable stats, inventory entries, and progress controls. For Code Lab, the interesting detail is how the project connects a friendly interface to structured save fields—and how it handles the files that come out of an edit.
What OOT SW2SE edits
The project README targets the Switch 2 remake’s save format. It describes controls for rupees, health and magic, item counts, bottles, small keys, and inventory capacities. Missing items can be added with acquisition flags, while progress flags and spoken dialogue language have their own controls. Language changes require option.sav.
| Editor area | What to inspect |
|---|---|
| Stats | Values and the capacity limits that constrain them. |
| Inventory | Quantity, ownership, and acquisition state. |
| Progress | Story flags, which are separate from simply owning an item. |
| Export | Replacement files generated from a working copy. |
A look at the published editor

The overview brings slot identity, saved location, character values, and a scene thumbnail together. That makes it easier to check which save is open before changing anything. The screenshot shows the interface’s presentation; it does not establish that every possible edit will load successfully in-game.
Inside the source: an item count is only part of ownership
In editor.html, missingRegistrations identifies inventory entries that have stock but lack an acquisition flag. This is actual repository source from commit 1ceb68f, with original line numbers.
The filter requires an existing acquisition field with a zero value, then checks whether any associated stock field is positive. A nonzero quantity alone therefore does not count as a complete registration. Nearby export logic uses these results to update acquisition state and rejects an explicit conflicting flag choice. The distinction between quantities and their flags is useful; it does not prove every story dependency is satisfied.
Source credit: Traiver/OOT-SW2SE, editor.html. The excerpt reproduces lines 527–531; only presentation and syntax colors are added. This snapshot contains a Microsoft WebView2 dependency license but no separate project-wide license file. Do not assume the dependency license covers all editor code or artwork.
How the Windows app is put together
The build guide specifies Windows x64, .NET Framework 4.8, and the Microsoft Edge WebView2 Runtime. Program.cs provides the desktop window and file dialogs, while editor.html holds the interface and save-processing logic. The documented build command is:
.\build.ps1
The build script retrieves a pinned WebView2 SDK package and checks its SHA-256 before compiling. It also accepts a local package path. The documented application runs offline, although the initial build may download that dependency. This review inspected source and documentation; it did not build the executable or test an actual save round trip.
Release and export details to check
OOT SW2SE 1.0.0 is the published release checked for this article. Our source reading uses the later pinned commit 1ceb68f; do not assume every line discussed here is identical to the packaged executable. Use the maintainer’s release page for current assets and notes.
The export flow creates a ZIP of replacement save files. For a supported full backup, it can update manifest hashes; if that step fails, the code can still save files and report that the manifest was skipped. Read the export result rather than treating a saved ZIP as a successful restore. These are save replacements, not a ROM patch.
- Keep an untouched copy of your own backup.
- Open the intended slot and make a small, reversible change first.
- Inspect the export message and replacement paths.
- Restore through a workflow compatible with your backup format, then verify the result separately.
Continue the Ocarina of Time code trail
Read our Lichii source walkthrough for the rendering side: visibility, GPU query results, and why a visual fix needs more than a promising clip. OOT SW2SE adds another subject for repository readers—how tools represent saved state and keep related fields consistent. Neither article supplies game files, system data, or someone else’s saves.
Checked November 8, 2026. Primary sources: repository, build guide, v1.0.0 release, and pinned source linked above. Project names and screenshots are credited to their respective owners.

Discussion