Engine v5.2.23
August 12, 2026
A patch in the Lume line.
what's new
- Savi now files the features you keep wishing for with the Spawn team — a dream that comes back session after session gets written down once, in your words, instead of staying her private workaround.
- If a script's event listeners ever get marked dead (after an error storm), registering a new listener now just works — the old "dead ears" verdict can't silence fresh code anymore.
- Fixed the bug where every world could render as a blank white screen (the August 8 incident) — the change that caused it never shipped to live games and is now fully removed.
- "I reported this to the team" is now true in every kind of room — bug reports from every multiplayer room now reach the team.
- When you summon Savi's builder body into a multiplayer room, she now arrives a polite conversational step away, facing you — never inside your face.
- While a custom sky image is still generating or loading, the sky shows a pleasant placeholder color instead of going pitch black.
- When a script sets a material property the engine doesn't understand (like three.js's
map), the engine now says so once and suggests the right name — instead of silently ignoring it. - Scripts that import each other in a circle now get told exactly which files form the circle, instead of a generic compile error.
- When Savi deletes objects that a behavior script spawns (minions, lamps, pickups), she now learns on the spot that the script will bring them back on the next room restart — so she edits the spawner script instead of leaving you a delete that silently undoes itself overnight.
- Entering god mode (or hopping into a vehicle) while holding a movement key no longer leaves your character auto-running in that direction. Your game's own input handler gets one final "all keys released" frame when control moves away, so held-key state settles exactly like a real key release.
- Shrinking an object with the built-in scale grip no longer flips into growing when you drag past its minimum — it holds at the minimum size until you drag back out. Growing feels exactly the same as before.
- Going back to a place you'd left — lobby after a match, hub after a dungeon — now brings its scripts back listening. Menu buttons, referees, and anything else wired with
api.onrespond after the round trip instead of going silent until a page reload. - Swapping which script an object runs while nobody is in its place now takes full effect on the next visit — the old script's event handlers no longer linger on the object.
- Objects parented to scaled objects (like pickup items on a scaled pile) no longer randomly grow — or jump position — when players move between places or the room re-syncs. They keep the exact size and offset you authored, every time.
- You can freeze a character at an exact frame of an animation:
mixer: { pose: { clip: 'Sit', speed: 0, time: 0.4 } }holds the 0.4-second pose instead of snapping to the clip's first frame — posed statues, card art, seated NPCs that sit HOW you posed them. Changetimeto re-pose; use it with normal speed to start a clip partway through. - Things you delete now STAY deleted after restarts. In multiplayer rooms, deleting an object from a script (or having Savi delete it) used to quietly un-happen the next time the room came back — the room's memory resurrected the ghost. Deletes are recorded for real now, no matter who or what does the deleting.
- Editing your game from a phone in a multiplayer room now actually saves — before, those edits could silently vanish on reload.
- The engine's helpful heads-ups (
notifyDmmessages and built-in warnings) now reach Savi from multiplayer rooms too — and if one fails to send, it says so in the logs instead of pretending it went through.