Engine v5.2.41
September 11, 2026
A patch in the Lume line.
Everything timed in seconds now lasts the time you wrote (shake, fades, zoom and sprite frame rates ran up to 1.75x fast before), a click in god mode no longer resizes a shape, textures on small primitives and on phones draw the right way up, a campfire no longer shrinks every other particle on screen, a floor Savi swaps for a model stays solid until the model is ready, characters report their wall and floor touches, big worlds finish loading their textures on a slow connection, star and moon fades no longer stutter, the bug-report button no longer freezes the game, a player whose tab died no longer leaves a ghost behind, and multiplayer physics runs only where someone is.
what's new
- When a script writes a very large value to another player's object and then a small one in the same step, only the large write now fails, and the message names that write. Before, the small write failed too and the message said it was the one that was too big.
- A player or NPC character now reports its collisions properly: walking into a wall fires the collision once, with the contact point and the wall's facing; landing on the floor fires once when you land; touching the same thing again fires again. Before, wall hits arrived late and empty or not at all, and standing still on the floor fired at random moments.
- In god mode, clicking on a shape no longer changes its size. Before, a click near the edge of a cube's face could squash or stretch the cube, and two clicks could flatten it to a slab. A click now only selects; you have to drag to resize.
- When the game gives up on a bad connection mid-stream, it now drops the rest of that stream at once instead of logging a burst of extra reconnect errors first.
- Switching tabs while a game loads no longer makes its saved data come up empty when you come back. Before, a tab left in the background could return to a game whose scores and saves had not loaded.
- On a computer that struggles to keep up, the game's color grade no longer flickers on and off. Before, the engine would switch the grade off to lighten the load on that machine and then switch it back on a moment later — sometimes because it had decided the grade was not the cause, and sometimes by mistake, right after the switch-off had actually helped — and then repeat the cycle, so the whole screen kept changing color while you stood still. Now, when switching the grade off helps, it stays off on that machine until you or Savi change the look; when it does not help, the engine switches it back on once and leaves it alone.
- Switching tabs for a while no longer makes a game's AI-powered characters fail to answer when you come back. Before, a character that asked for its next line while you were away could come back with a "timed out" error even though the answer had arrived.
- A vehicle you are driving (or any object a script has moved) no longer jumps back to where it was placed in the editor when a change to the ground is saved — a new road, a flattened pad, a terrain script edit. Before, saving any of those put every moved object back on its original spot, with the driver still inside.
- When a texture is downloading unusually slowly, or is waiting its turn behind many other texture downloads for a long time, the engine now says so once in the game's logs instead of staying silent — nothing in the game needs changing when you see it. A texture that nothing in the world is asking for any more no longer takes a download turn ahead of one that is.
- On a slow connection, big worlds now finish loading their textures instead of getting stuck. Before, a texture that was still downloading after 30 seconds was thrown away and requested again from scratch, over and over, so on a busy line some floors, walls and effects never got their real look — walls whose texture never arrived did not appear at all. Now a download that is still moving is left alone until it finishes, textures are requested a few at a time in the order the world asked for them, and they go ahead of the much larger 3D model downloads on the line, so surfaces get their real look early in the load instead of at the end.
- When your game's image generation hits its rate limit, Savi now hears that it is a limit — not a broken texture — and when it lifts, textures load without an extra stalled retry.
- Resizing or adding a rectangular flattened pad and then saving no longer makes every scattered tree and bush in the world blink out and grow back. Before, a saved pad could re-plant the whole world for a moment.
- Saving a script no longer makes the trees and bushes in your world blink out and grow back for everyone connected. Before, some saves made the engine rebuild the whole ground and re-plant every scattered tree even though nothing about the terrain had changed.
- Fading the stars or the moon over time — brighter stars as dusk deepens, a milky way that comes up slowly, a moon that dims toward dawn — no longer stutters. Before, a slow fade could hitch every couple of seconds. The night looks the same at every step; it only gets there smoothly.
- A fast object no longer reports hitting the ground while still in the air at a terrain edge. Before, a plane or a thrown ball crossing between stretches of ground could get a "hit the ground" event metres up, with no contact point, and scripts that crashed or exploded on it fired for nothing. Real landings still report where and how hard.
- When you delete the last thing that used an animation clip, the clip leaves your game's saved data too; if you use it again later, it comes back. Before, clips from a deleted cinematic stayed in the game forever.
- A script that runs away in a multiplayer room is now paused for 10 seconds and then resumes on its own, the same as in a singleplayer game, so the room stays smooth for everyone.
- When Savi looks at your game, she now sees the images in your game's HTML — icons, portraits, fighter cards, background plates — the same way players do. Before, an image loaded from your uploads showed on screen but was blank in her view, so she could send you hunting for a bug that was never there.
- A comment's automatic screenshot now shows the images in a menu, shop or dialogue that was open when the comment was left, instead of empty boxes where they stood.
- While you are building, clicking a creator tab's panel — its title, a label, the space between controls — no longer also clicks the world behind the panel. Before, that click could select, place or paint something you never aimed at.
- A creator tab that builds its own panel (a drag-and-drop editor, a floating window) now looks right the first time you open it in a session. Before, the first open of such a tab in a fresh session showed plain unstyled text in the top-left corner until you opened any other tab once.
- When a shape you generated is invisible for one player because their copy came out different from the saved one, Savi can now read the reason from the game's own log and tell you what differs, instead of only being able to say it didn't match.
- When Savi rebuilds a room's shell in one edit — replacing a floor made of simple blocks with a 3D model that carries its own collision shape — the old floor now stays solid under anyone standing on it until the model's collision shape is ready, then hands over. Before, the floor vanished the instant the edit landed and players standing there fell through the world while the model was still loading. If a model's collision shape never arrives, the old floor lets go after fifteen seconds.
- When you remove a behavior from an object, or edit its script, the old script's event handlers now stop everywhere, for every player in the room. Before, an object whose behavior you had removed could still react to events after another player left the room, and an edited object could react twice to each event until you saved again.
- If you edit a script while other players are in the room, an object's event handlers from that script can go quiet after players come and go, until you save the script once more. Savi now sees exactly that in the logs and can tell you to save again, instead of telling you to restructure a script that was already right.
- Objects a place creates in your first moment inside it now appear — for you and for everyone else in the room. Before, when you arrived in a freshly made place, those first objects could be dropped, or exist only on your own screen.
- A campfire's smoke column no longer makes the whole game's particles shrink. Effects are now measured by how much of the screen they really cover, from the particles actually drawn, instead of assuming every puff is at its largest size.
- Custom-shaped objects that a busy scene left solid but invisible for a player — you could bump into a bench you could not see — now come back on their own once the scene gets lighter, and keep retrying on a slow schedule until they do, instead of staying invisible until the page is reloaded.
- A model whose download is cut by the network partway through is now retried instead of being reported as a file that cannot be read.
- When a model's size can't be read, Savi no longer calls the file broken or asks you to re-add it. She says what happened and what comes next: the size is read again when the game next loads, or when the model is replaced. A file over the platform's size limit is told so, without a guessed number.
- When a model file cannot be read, the message now tells the true case apart: a file that is really over the platform's size limit says so and how far over it is; a file whose header does not describe its contents says that instead of asking for a smaller export; a file that ends early says it ends early. Each message ends with the one thing to do next — a smaller export for a file over the limit, a re-export and a replaced model ref for the others.
- A character you export from Blender with many animations baked in now loads with its size known; before, a file with a large set of animations could be reported as "malformed" even though it was fine, and physics and decoration around it used default sizes for the rest of the session. A model's size is read from the file the platform actually serves: a file over the platform's model limit is told so, and a file whose header does not match its bytes is told to re-export.
- An object whose shape follows the ground, if it is created a moment before its place's terrain is ready, now waits and builds against the real ground once the terrain is there, instead of building flat. While it waits it is not drawn, and the logs Savi reads say which object is waiting on which place's terrain.
- If your game tab was in the background for a long while in a busy room, it now first catches up on everything it missed when it comes back, so nobody's world gets reset to what your tab last saw.
- Savi no longer reports an object missing just because the screen she asked was behind the room — her eye now knows when the tab it asked has not caught up yet.
- Weak laptops no longer get extra shadow work they were not asked for.
- When a script writes a very large or very deeply nested value to another player's object, the write now fails at once with a message in your logs that says how big the value was, what the limit is, and what to do next. Before, the value looked like it landed and then quietly vanished about five seconds later with no message.
- When Savi looks for an object the screen she asked has not caught up to yet, she now learns that in the same look instead of asking twice.
- A material script can now set
material.color = new Color(...)(or a hex like0xff8800, or"#ff8800") the way it works in three.js. Before, that line quietly broke the material. - A shape given a number it cannot draw — a size that came out as NaN, a million segments, a curve with one point — now draws with that value fixed up and tells Savi what was wrong, instead of vanishing or stalling the frame.
- Ground decorations with an impossible size in one item keep rendering; only that value falls back to its default.
- When a change to another player's object never gets an answer because that player's tab is in the background, Savi's log now says exactly that instead of a bare timeout.
- When frames get slow and the engine has to switch off a custom see-through material — a glow, a haze, an atmosphere around a planet — the object no longer turns into a solid gray shape that hides everything inside it. A see-through material now simply stops drawing until frames recover (a plain translucent one shows as a translucent shape instead), so the world behind it stays visible.
- When another player removes an object, your game no longer repeats that removal back to the room. Nothing changes on screen; the room just keeps one record of the removal instead of two.
- Pressing the bug-report button no longer freezes your game. On slower computers with a lot of art in the game, packaging the report used to stop the game for a minute or more, and the screen then said the game had crashed when it had not. The packaging now happens on the side while you keep playing.
- In multiplayer games, empty areas no longer cost physics time, and characters standing in an area nobody has visited no longer fall through ground that was never built. Singleplayer games keep every area running, as before, so moving platforms, spawners, and patrols in areas you are not in keep working while you are away.
- When physics is slow, the performance note Savi receives now says what was actually being simulated — how many moving objects, scenery pieces, and characters, across how many areas — instead of always blaming falling props, so the advice matches your world.
- A pond's bank is now complete all the way around. Before, at some angles the bank stopped short, and on a slope the downhill ledge ended in a straight cut — both now follow the pond's curve.
- When Savi previews a sign on its own, the preview now shows the sign's board instead of answering that there is nothing to preview. The lettering still only appears in the game scene, and the preview says so.
- When Savi looks at a piece of scripted geometry whose script has a loop that never ends, your game no longer freezes and the tab no longer dies. The look comes back after five seconds and tells Savi which script did not finish, so she can fix it, and everything else in the picture still renders.
- If the game server hits an error while a player is connecting, the player's game now reconnects and joins again on its own, instead of ending up in a world where nothing ever moves.
- When the picture has to rebuild itself after a hiccup in the connection between the game and the screen, custom-shaped objects that had settled in place — terrain pieces, decorations, meshes a script built — now come back instantly instead of vanishing for a couple of seconds and being rebuilt one by one.
- Long rivers no longer make the terrain take many seconds to appear: a world with dozens of rivers now finishes its ground in well under a second, with every river and pond at the same water level as before.
- A camera moved by a script now moves as smoothly as the rest of the scene. Everything timed in seconds — screen shake, camera punch, zoom, hit-stop, music and light fades, highlight pulses, sprite frame rates — now lasts the time you wrote. Before, all of these ran about one and a half times too fast for every player on every screen, up to 1.75×. A camera follow you tuned by feel may now feel a touch slower; nudge its rate up if so.
- While Savi is building in your world and you are not in it, scripts that save game data into the world itself (with
withPersistence) still change the running world, but those particular saves are not written down and will not be later. The running world keeps those changes only until it restarts or is reset from its saved version. Saves the game makes while you have it open in your own tab are written down. The engine now says exactly that in the logs Savi reads, so she can tell you plainly instead of hunting for a permission problem that does not exist. - When Savi swaps your game to a different starter while you are in it, the old world now clears out of your tab and the new one appears, instead of the old scene staying on screen until you reload.
- Ground that was still being built when your connection hiccuped no longer gets thrown away and rebuilt from scratch: the engine now measures a build's waiting time by the ticks your game actually ran, so a reconnect cannot make every in-progress piece of terrain look overdue at once.
- Top-down games that took the previous update while a room was open could keep an old wall shape in that room: walls Savi drew still let players walk through them even though the update fixed walls. Walls now take the fixed shape in every open room the moment the game runs on this version, and a wall with its own drawn outline keeps that outline. If you are on the previous update and a wall is still walk-through, ask Savi to restart the room — the room rebuilds from your last save with the fix in place.
- Textures on primitives that used to draw upside down — small ones on desktop, all of them on phones — now draw the right way up. Textures on custom-built (scripted) shapes now draw the right way up too, on every device and at every size. If you flipped an image or a drawn texture to work around either, flip it back.
- When a script's write to another player's object is too large or too deeply nested, the message now says that write changed nothing, instead of saying nothing changed on the object — other writes in the same step can still land.
- When your game tab is hidden and Savi looks at your screen, she now hears that the tab is hidden and that the look works again once you bring it back — instead of a message that made it sound like the renderer was broken.
- In a voxel world, when two flattened pads — or a pad and a road — overlap, everyone in the room now sees the same ground after a save. Before, a player who joined after the save could stand at a different height than the players who were already there.
- When part of your voxel world sits too far above or below a player to be drawn for them — a tall planet, a very deep canyon — the game now leaves Savi a note saying exactly which ground did not draw and that nothing in the world changed, so she can tell you what you are seeing instead of hunting for a bug.
- When a player reconnects to a busy room, another player who is still in the room can no longer vanish from their screen. Leftover objects that were removed while nobody was around now stay gone for everyone who joins later, instead of coming back each time.