Releases / v0.94.0-rc2

v0.94.0-rc2 Leaves A Trail

2026-09-17 Engine

The second beta of v0.94.0. Everything in rc1 — particles that squash and stretch, the Animating tab's curves — plus trails behind anything that moves, and four things a multiplayer game and a headless check found wanting.

Trails

A particle trail records the particle's own motion, which is nothing for a particle sitting still on a moving node — and a sword trail is exactly that. Every trail now has follows the emitter (under the trail row in the Inspector): the ribbon is recorded along the node's path through the world, so one still particle at a blade tip leaves a sword trail, a wing tip a streak, a wheel a tyre mark — all in one effect asset, no script. It is depth-tested like every particle, so a trail behind a pillar stays behind it. The Particles tab's ∞ sweep moves the preview through a figure-eight so you can see it, and a world-space track or inherited velocity, without leaving the tab.

For a ribbon in the blade's own plane, scripts have draw.quad: one textured quad in the world, depth-tested, blended with the image's alpha, visible from both sides. Give it four corners, a colour and a slice of a streak texture per segment, and a ribbon between two marker nodes is a dozen lines — floptle api draw.quad has the copyable one.

A spawn survives a scene change

The server's scene.load tells every client to load the same scene, and each takes its own time over it. Anything the server spawned in the new scene meanwhile — the player rigs a scene.onLoaded handler spawns on the very next frame — was dropped by a client still loading, and never re-sent: the first rig after every map change was missing on someone, and which one depended on who joined first. Those spawns are now held through the swap and applied the moment the client's load finishes, in order. No warm-up spawn, hold timer or "ask for a body" call is needed any more; docs/multiplayer.md says what you may assume.

Headless checks that tell the truth

floptle run --join keeps real time. A joined run is a client of a server ticking on the wall clock; stepping as fast as the CPU allowed sent an input clock the server watched race ahead until it dropped the peer, while the client believed it was still in. Each step now waits for its tick, so a client run stays connected for the whole --seconds.

floptle shot tells its scripts the picture is the viewport. From the first update, camera.exists() is true and camera.screenRect() is the --size you asked for, so a HUD that sizes itself from the screen can be checked at 1440p, an ultrawide or a portrait window without opening a window. floptle run renders nothing and still reports no camera.

floptle serve passes every flag it takes. --status-file, --max-players, --lobby-code and --script-budget-ms were accepted on the command line and dropped on the way to the server. They arrive now.

Upgrading

Nothing to change. An effect written before this release has no emitter-path trail and draws as it did; a game's scene-change workarounds can come out at your leisure.

Switch the Hub to the beta channel to install this build.

Floptle Hub

Linux x86_64 7.9 MB Download → sha256 00cd20253224a62fa164f2f61708149c71bc2fd264b3c5a5e9ec7a3ce8e68741
macOS Apple Silicon 5.9 MB Download → sha256 dfaa2dc0f53d0f7e26dfde8a6b285ea01ee09328cc85ccd3e9eb46c3e4063d60
macOS Intel 6.4 MB Download → sha256 692c65ed35e8973c018d4ba7dd924906e356a3edaebcb67f7fdfa37ff68b43cf
Windows x86_64 7.3 MB Download → sha256 b385c568c9ab40776a350c38439556d912ac92bfb07ad081e66f5dfc560cced0

Engine

Linux x86_64 33.9 MB Download → sha256 c15b55ad85579baeec6fc17c52045dc1e41d0e958bbce95427395f61c574161c
macOS Apple Silicon 27.6 MB Download → sha256 55c871218dcb83f4bb4783d280e693caa891c188498e1bce6a4521198b704160
macOS Intel 29.8 MB Download → sha256 04f2f1eb8c4eab9166787fc1c189cd047f807f31f2e6c047938b4ced86a0d1b8
web 4.4 MB Download → sha256 ff26e972813d90d622ad8e47252baaac1a846ca8d467301e7a626442cdfd9f48
Windows x86_64 33.7 MB Download → sha256 5f411cdac6e32cd65e3a7462ef1a893c64e61f661eb100448dab9be4b856f8ed

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.