Releases / v0.117.0-rc12
v0.117.0-rc12 Whole Worlds
2026-10-26
Everything in rc11, plus physics that costs a fraction of what it did for big craft and vehicles on the ground, shader materials that draw together, and a way to load a level's shaders and pictures before its first frame.
Physics costs less, and moves the same
Every body ends where it did before, to the last bit; only the work is less.
- Each part of a craft is tested only against what it can actually reach this step, not everything around the whole craft. A distance question stops at the radius it needs, and a part in open air skips the ground entirely.
- Ground queries near terrain are several times cheaper.
- When a craft splits, only the parts near the other half are compared.
- In our tests: a 15-part plane rolling on terrain went from about 21 ms of physics a frame to about 4; a 1,000-part craft released onto the ground from 53 ms to about 3, and asleep at 0.2 ms.
- Sphere, capsule and box casts skip parts far from their path, so 20 casts
past a 1,000-part craft went from 2.1 ms to 0.2 ms.
perf.counts()now reportssweepsandsweepMs.
Drawing many of the same thing
- Parts that use the same shader material with the same settings now share it, so they draw together: 3,000 parts with one shader material draw once instead of 3,000 times. A part whose settings change gets its own copy and the others keep theirs. What is drawn is the same, pixel for pixel.
- Material changes are applied only to the nodes that changed, so a quiet frame does no material work.
perf.counts().unbatchedandunbatchedBysay how many draws could not be shared, and why: a unique mesh, a texture, a shader, shader settings, or skinning.
No first-use freeze
assets.warm(list, cb)prepares pictures, shaders, materials, models and sounds in the background, and callscbwhen all are ready. Warm a level's assets behind its loading screen and its first frame does no first-use work.- A shader's skinned version is built only when something skinned draws with it.
- Built shader pipelines are kept on disk between runs (Vulkan), so a shader is faster to prepare the second time.
perf.hitches()names the assets a slow frame was waiting on, with their times: decoding, uploading, compiling a shader, or building its pipeline.
Upgrading
Nothing to do. A shader nobody warmed is still prepared the first time it
draws; call assets.warm on your loading screen to move that work off play.
Floptle Hub
Engine
The binaries are not signed yet. On macOS, right-click the app and pick Open the first time. On Windows, if SmartScreen appears, pick More info then Run anyway.