Developer Preview is closed 🛑, UI batching big FPS gains 🚀, tying up all the loose ends 🪢
Added `UprightJoint`, which constrains objects to remain upright, useful for characters, vehicles, and other physics objects that should resist tipping. Also has a parallel mode when targeting another body.
Added on-demand navmesh tile generation API — new `NavMesh.DeferGeneration`, `NavMesh.RequestTileGeneration`, `NavMesh.RequestTilesGeneration`, `NavMesh.UnloadTile`, and `NavMesh.UnloadTiles` APIs for large open-world games that need to generate and unload navmesh tiles at runtime rather than all at once on load.
Added a search bar to the main menu navbar for quickly finding games and content.
Added "Convert to Mesh" in the mapping editor — converts a placed model to an editable scene mesh, similar to Hammer's workflow.
Added `movie` command support for recording Light Components — light brightness and colour changes are now captured in recordings.
Rewrote the UI renderer with a batching system that groups panels into a single draw call where possible, yielding massive performance improvements — up to ~4× faster in benchmarks (40fps → 150fps). Also introduces a new `Panel.Draw.XX` API for custom panels to emit drawing commands directly.
Improved ambient occlusion performance with various shader and sampling optimisations.
Improved hotspot tool in the mapping editor — now uses the active material, supports mirror horizontal/vertical, and adds a per-face apply button.
Improved prefab editor performance when handling large prefabs — faster diffing and reduced initial load times.
Improved serialization accuracy for prefab and scene files — positions, rotations, and transforms no longer silently drift between saves, eliminating unnecessary prefab instance noise and large git diffs. Switched to lossless `G9` float format.
Improved `WildcardMatch` performance by replacing expensive regex with `MatchesSimpleExpression`.
Improved shadow mapper hot path by eliminating array, `IEnumerable`, and LINQ allocations.
Improved `SetObjectBounds` with minor overhead reductions.
New s&box installs now default to MSAA 4× anti-aliasing on first launch.
"Make Editable Mesh" in the mapping editor is now undoable.
Fixed a VRAM leak where shadow map textures were never returned to the pool when a `SceneLight` was destroyed — in scenes with many lights this would fill VRAM quickly.
Fixed a transform equality regression where `Rotation.AlmostEqual`'s default threshold was too loose (~1.62°), causing `SetLocalTransform` to silently drop small updates and producing jittery camera movement.
Fixed `Rotation.AlmostEqual` incorrectly returning `false` for two default (zero-length) quaternions.
Fixed cascade shadow exclusion culling overculling objects at the edge of shadow cascade spheres.
Fixed managed textures (prefab-embedded textures) never being present on headless/dedicated servers, which caused missing icons for inventory items, health, ammo, etc.
Fixed `ScenePanel` being completely reset on hotload — panels that manage their own `Scene` now survive hotloads intact.
Fixed the `TextEntry` caret becoming invisible after the move to command lists.
Fixed a ~300ms stutter when first opening the settings panel.
Fixed `MaterialAccessor` retaining stale material overrides after deserializing new data, causing phantom overrides to persist after prefab instance reverts.
Fixed `PolygonMesh` writing world-space properties into JSON, which broke prefab diffing.
Fixed blob IDs regenerating on every save, producing unnecessary git noise.
Fixed light probe regression caused by an incorrect call to a stubbed `RenderDevice->IsUsingGraphics()` on headless servers.
Fixed modeldoc wireframe rendering.
Fixed crash when accessing `MusicPlayer.Title` with an invalid URL.
Fixed assert triggered on `MusicPlayer` disposal.
Fixed null `TargetComponent` crash in the Doo invoke block inspector.
Fixed `SimplePicker` showing cloud assets when searching in the "Local Assets" tab.
Fixed package modal portal layout regression.
Fixed several Linux server path and library casing issues that prevented the dedicated server from starting.
Restored center pivot behaviour in object selection mode.
But personally the main issue to me now is the lack of good game modes...
Clarify, please.