Skip to content

Cooking a Home

xAstroBoy edited this page Jul 5, 2026 · 7 revisions

Cooking a Home

  1. Drag the old home (env.apk / .gltf.ovrscene / .opa) onto the editor (or pass it on the command line). It loads and renders exactly as the headset would — this preview is the ground truth the cook reproduces.
  2. (Optional) Edit it: move/scale/hide objects, set the spawn point, add chairs / navmesh / colliders / wall placements, replace the audio, retexture things — see the Editor Guide. You can also skip this entirely and port the home as-is.
  3. Open the Cook tab and press COOK + SIGN + INSTALL.

Every control has a hover tooltip. The defaults are what most people want:

Option Default Meaning
Package env's id Android package id for the own-package (rooted) APK only. The spoof always uses Meta's haven2025 id and ignores this.
Auto-sign ✅ on Sign the APKs so the Quest accepts them. Keep on.
Emit haven2025 spoof ✅ on Also build the no-root APK. Keep on — it's the one most people install.
Animate skinned meshes (HZANIM) ✅ on Skeletal + rigid node animation ports (full-length clips, ACL-compressed).
Install to headset (auto) ✅ on Cook → sign → install automatically (root-aware).
Wi-Fi IP / Device blank Wireless adb IP / a specific device serial. Blank = USB / default device.

What "COOK + SIGN + INSTALL" does

  1. Auto-saves your session (edits are never lost to a cook), then cooks the (edited) scene into APK(s) in the cooked/ folder (editor sessions live in saved/).
  2. Signs them.
  3. Detects root on the connected headset and installs the right one automatically — see The Two APKs — then reloads the shell so the env appears immediately.

The status line at the bottom of the panel reports exactly what happened (which APK, signed or not, installed or not). Outputs are named:

  • <env>_NoRoot-Spoof.apk — install on any (non-rooted) Quest.
  • <env>_Rooted-System.apk — for rooted / dev headsets.

What actually gets ported

  • Geometry — world-baked, large meshes auto-split to device-safe sizes, double-sided where authored.
  • Textures — the source ASTC mip chains pass through losslessly when untouched (no double-compression softening), tagged sRGB like every official Meta texture; edited/cropped textures re-encode at the authored block footprint.
  • Materials — authored Transparent / Additive / AlphaTest (with the per-material alphatestthreshold), SpecIbl lighting from the env's own IBL cubemaps, baked lightmaps.
  • Animations — everything, full-length, no caps: node motion, UV scrolls, spritesheet flipbooks (exact per-frame matrix replay), tint/fade cycles, skinned meshes, VAT. See Animation System.
  • Audio — the background loop (incl. Ogg-Opus) becomes an auto-starting FMOD bank.
  • Scene components — spawns, chairs, colliders, navmesh, wall placements, hotspots cook to the real Meta/Horizon components (haven2025-exact recipes).

Manual cook (command line / headless)

Loading an env headless and cooking is supported; set HSR_NOINSTALL to skip the auto-install step in batch runs:

HSR_EXPORT=1 HSR_EXPORT_QUIT=1 hsr_renderer <env.apk>

To sign an already-built APK someone sent you:

hsr_renderer.exe --sign <file>.apk      # -> <file>_signed.apk

Clone this wiki locally