Skip to content
NX Native

Baba Is You

Other engines01002CD00A51C000
Baba Is You feature illustration: original artwork for the nxnative notes
Title ID
01002CD00A51C000
Tested build
1.0.12
Nintendo SDK
19.3.3
Engine
Multimedia Fusion 2 game on MP2 Games' runtime (Lua)
Graphics API
NVN

Build this game

Keep [01002CD00A51C000] in your file names, put the base game, update and DLC in one folder and run the script. Follow the build guide, then the sideloading guide. Needs an iPhone 15 Pro or newer, or an M1 iPad or later.

Technical notes

The project's own record of bringing this game up: what its profile needs and why, what was found and what is still open.

Update 1.0.12 (v786432), SDK 19.3.3, on NVN (131 shaders, GLSLC programs). Modules main and sdk. A Multimedia Fusion 2 game (its splash: "made using Multimedia Fusion 2 by Clickteam") on MP2 Games' Switch runtime, with its level and editor logic in Lua files in RomFS. The standard host and rewriter run this build with no game-specific fix: no shader overrides, rewriter cuts or host changes. The profile is the NSP script's provisional one with only the shader group corrected (What it needs). Only this update is registered in the profile.

On the Mac (2026-10-29, a short gameplay check): splash, title menu, the opening sequence and level 00 played through to its win (input moves Baba and pushes the rocks), then the world map, all at 60 fps (frame time p50 16.67 / p95 16.70 ms) with audio and no [RED] line. Continue Playing in a second run brought back the map with level 00 solved, so the save and its reload work. The unsigned IPA has not been built from this profile or tested on an iPhone.

What it needs

Setting Where Why
3.25 GB layout: mem_reserve 0x100000000, mem_alias 0x10000000, mem_stack 0x10000000, app_pool 0xCD500000 game.tsv the provisional layout, which holds: main sets a heap of at most the pool − 64 MB
sys_resource 0x0 game.tsv the NPDM declares 0 MB of system resource: IsVirtualAddressMemoryEnabled is false, as on Horizon
mem_used 0x6000000 game.tsv the rewritten modules are over the default 64 MB (main has 71 MB of bss); written by the NSP script after the rewrite
shader_groups /Assets.dat=assets game.tsv every shader is in the root Assets.dat; the provisional guess (/Data/, the largest RomFS folder) matched none and left them in the other package. Same shader keys either way
pad_layout (default, simple) the 2D virtual pad; the left stick moves, A waits

Files

  • RomFS: 6,374 files, 0.10 GB. Assets.dat (0.02 GB, the RomFS marker) holds the shaders; Data/ holds the sprites (PNG), worlds (.l / .ld), Lua scripts, languages and the Ogg music.
  • The save holds Settings.txt, ba.ba, 0ba.ba and levels/world_data.txt, written through the transactional save mount.

Shaders

  • Current: 120 GLSLC outputs in Assets.dat, each a whole program (a vertex and a pixel shader, then a reflection section), give 131 distinct shaders (15 vertex, 116 pixel), all translated for the Mac. Read by the multi-stage GLSLC reader: GLSLC outputs holding several stages.
  • The prewarm list (pso_manifest.tsv) is empty: with about 200 draws a frame and a handful of pipelines, the first frames built theirs in the background without a draw waiting.

Memory

  • Over the runs, resident memory was 670–710 MB and Metal allocations about 1.18 GB.

On the Mac

  • After the NSP script's --platform mac build, its printed command runs the game. A run with the window behind other windows loses focus (oe focus state → 2) and the display link stops presenting, so DM_CTL screenshots never come; DM_PRESENT_LINK=0 keeps it presenting (Present thread rescues a silent display link).
  • With a fresh save: A at about 22 s skips the splash, A again on the title menu's Continue Playing (or Start the Game) runs the opening; level 00 starts about 30 s later and is won by eight presses of Right.

Found on this game

  • GLSLC outputs holding several stages (glslc_program): shaders.

Open

  • iPhone: an IPA from this profile is not built or tested.
  • One boot's first audio callback came 216 ms late, and the host retried the AudioUnit ([RED] audio #0: the device has not called back); sound played after it. The later runs did not log it.
  • Only level 00 and the world map were played; later worlds, the level editor and the other languages are untested.

These notes are republished from the nxnative repository under its MIT license (license and attribution). The original, which may be newer, is the game's notes on GitHub. This site hosts no game files.

More Other engines games