-
Notifications
You must be signed in to change notification settings - Fork 2
Cooking a Home
- 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 desktop preview the cook approximates (the headset is the final word). - (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.
- Open the Cook tab and press
COOK + SIGN + INSTALL.
⚠️ Every home needs at least one collider. With no collision the player has no floor and falls through the world forever (respawning at the void floor). The default Auto floor collision (Cook tab) covers this for you — leave it on unless you're placing your own. If you turn it off, add a Navmesh (walkable mesh, baked from a selection) or a Box collider from the Scene tab → + Add. If a cook would ship zero collision, the editor pops a warning before it starts so you don't ship a fall-through home by accident.
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. |
-
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 insaved/). - Signs them.
- 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.
- 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).
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:
"Quest Home Editor.exe" --sign <file>.apk # -> <file>_signed.apk