BREATH OF THE WILD / MAC BUILD
Breath of the Wild on Mac: native build guide
MacNativeGames builds a native Mac app from your own supported Switch files. Choose a 1.6.0 or 1.9.0 input route, prepare the fonts, then run one build command.
Choose your files ↓
Start with the files you actually have
The script identifies the game and version from its contents. Renaming a file does not convert it into a supported input. Keep your base, update and keys as separate files where the route below requires them.
| Route | Required game files | DLC |
|---|---|---|
| 1.6.0 combined card | One supported XCI containing the base and 1.6.0 update. | The supported card can include DLC inside it. Do not add separate DLC flags. |
| 1.6.0 separate update | Base NSP or XCI plus the separate 1.6.0 update NSP/NSZ. | No external DLC input on this route. |
| 1.9.0 base + update | Base NSP plus the separate 1.9.0 update NSP. | Optional: supply each DLC NSP separately with --dlc. |
All routes need your prod.keys and a shared-font source. Use either a directory of extracted shared fonts or your own firmware directory. A card image without a font partition still needs an external font source.
Prepare the Mac, then pin the source
Install the command-line tools and dependencies
Install Homebrew first if it is not on this Mac. Let the Xcode tools installation finish before continuing.
xcode-select --install
brew install opus libvpx python@3.14 Use the same source version as this guide
Use a new folder for this checkout. The revision below supports both BOTW versions described here.
mkdir -p ~/Games
git clone https://github.com/ly05010419/MacNativeGames.git ~/Games/MacNativeGames
cd ~/Games/MacNativeGames
git checkout f134a7b58c2ae46b03615b622cd3ecfd0c6d3ae6 Build the version you chose
keys + fonts→
build_app.pyBotW_build→Breath of the Wild.appThe examples run from the MacNativeGames source folder. Replace each example path with the corresponding file or folder on your Mac; quote paths that contain spaces.
1.9.0: base and update, without DLC
python3.14 build_app.py ~/Games/botw-base.nsp -k ~/keys/prod.keys --update ~/Games/botw-1.9.0.nsp --firmware ~/Games/firmware Add the two optional 1.9.0 DLC packs
Use your own DLC NSPs for title IDs ending 11F001 and 11F002. Pass the flag once for each file; these are game-data packages, not the TOTK mod options.
python3.14 build_app.py ~/Games/botw-base.nsp -k ~/keys/prod.keys --update ~/Games/botw-1.9.0.nsp --dlc ~/Games/botw-dlc-1.nsp --dlc ~/Games/botw-dlc-2.nsp --firmware ~/Games/firmware 1.6.0: combined XCI or separate update
These examples reuse an extracted shared-font folder. If you have firmware instead, replace the --shared-fonts option and its path with --firmware ~/Games/firmware.
python3.14 build_app.py ~/Games/botw.xci -k ~/keys/prod.keys --shared-fonts ~/Games/TOTK_build/totk/extracted/firmware/shared-fonts python3.14 build_app.py ~/Games/botw-base.nsp -k ~/keys/prod.keys --update ~/Games/botw-1.6.0.nsp --shared-fonts ~/Games/TOTK_build/totk/extracted/firmware/shared-fonts Wait for the final app path before opening it. Do not use the TOTK build wizard for BOTW: its version choices and additional options serve a different game.
Open the app and keep its files organized
Launch Breath of the Wild.app
Open the app at the path printed by the builder. First launch verifies game data and any included DLC, then prepares shaders. Keep the work folder while you confirm the app opens and your save works.
A macOS security message has its own recovery steps: match the warning you see.
- Default build folder
BotW_build, beside the base game file.- User data and saves
~/Library/Application Support/MacNativeGames/BotW- Runtime log
~/Library/Logs/MacNativeGames/botw.log- Build logs
- The
logsfolder inside your BOTW work folder.
In Finder, use Go → Go to Folder to open the user-data path. Quit the game and copy that whole folder before updating or moving saves. Keep BOTW and TOTK backups separate.
Use the controls supported by your version
| Key or option | 1.6.0 | 1.9.0 |
|---|---|---|
| 2 / 3 | Frame-rate / picture modes | Frame-rate / picture modes |
| 4 / 5 | Not the 1.9.0 shortcuts | Ultrawide view / temporal edge smoothing |
| Native 2K canvas | Not implemented | Not implemented |
| iPhone / iPad export | No iOS build | No iOS build |
Pair a controller in macOS before testing it in the game. Follow the Mac pairing steps; the TOTK layout generator does not establish BOTW controller mappings.
If the build or first session stops
| What happened | Next action |
|---|---|
| Unsupported input or version | Return to the three input routes. Match the actual game contents, base and update rather than their filenames. Read the first error in the build log. |
| Font source missing | Supply the extracted shared-font folder or firmware directory. Point at a real directory, not at the NSP or the parent of an unrelated build. |
| DLC rejected | Separate DLC files are for the 1.9.0 route. Verify the DLC title IDs and supported base/update before rerunning. |
| A new scene stutters | Allow new shaders to compile, then revisit the same scene. Keep a first-visit pause separate from steady gameplay. |
| Link sinks into the ground / memory keeps growing | The early 1.9.0 notes describe these issues. Save, quit and retain the runtime log with your source revision and scene when reporting a repeatable problem. |
Read the original 1.9.0 implementation and known issues ↗. For a different game or platform, compare MacNativeGames targets.