Luau Engine 0.9.4
Faster incremental builds, WebGPU compute on the web target, structural .rbxlx merging, and 40-odd fixes.
0.9.4 is a maintenance release focused on build times and the web target. Upgrade with luauengine self-update, or grab it from the downloads page.
Faster incremental builds#
Script-only changes no longer trigger a full asset pass. The pipeline now hashes the asset graph separately from the DataModel, so editing a .luau file and rebuilding for desktop went from ~14 s to ~1.2 s on our reference project.
luauengine build --target windows
# → 1.2s (assets cached, 1 script recompiled)Force a full rebuild with --force if you suspect the cache is wrong. If you find a case where it is, please file it — cache correctness bugs are a priority.
WebGPU compute on the web target#
Compute shaders now work on WebGPU, which means Enum.Technology.Future renders correctly in Chrome 121+, Edge 121+ and Safari 18. The WebGL 2 fallback still downgrades to ShadowMap, and now logs a warning at startup instead of doing it silently.
Structural .rbxlx merging#
luauengine merge resolves place-file conflicts that touch different instances, instead of leaving you to pick a whole file. Register it as a Git merge driver:
git config merge.rbxlx.driver "luauengine merge --base %O --ours %A --theirs %B --out %A"Add *.rbxlx merge=rbxlx to .gitattributes and most place conflicts stop needing a human. Full details in File formats.
Asset audit reports instance paths#
luauengine assets audit previously told you an asset could not ship. It now tells you which instances reference it:
error[E0402]: asset cannot be redistributed on target `windows`
→ assets/audio/theme.ogg
licence: roblox-only
referenced by:
Workspace.Ambience.ThemeSound.SoundId
ReplicatedStorage.Audio.Tracks.MenuFixes#
- glTF import preserved authored vertex normals instead of recomputing them (#412)
Engine.Storage:WriteJSONno longer truncates on write failure, so a full disk cannot destroy a saveCollectionService:GetTaggedreturned stale results after:Destroy()on the server target- MicroProfiler traces from the server target opened as empty in Perfetto
- Windows installer failed on paths containing non-ASCII characters
luauengine checkexit code was1rather than3for capability violations- Deterministic physics drifted between x86-64 and ARM64 after ~40 minutes
- 33 more — see the full changelog
Coming next#
0.10 takes the web and dedicated-server targets out of beta and adds the Luau-scripted editor extension host. See the roadmap.