
A new update has been released, you can view the full changes on our blog post.
https://sbox.game/news/update-26-05-27
🎁 Added
Runtime mesh morphs API - `Mesh.AddMorph()` lets you add morph targets (position and normal deltas) to meshes at runtime
Mesh to model dialog now shows options for configuring collision when converting meshes
Mirror tool can now be repositioned after placing, similar to the clipping tool
Bounding box snapping - bounding boxes now snap to grid by default
`ResourceWriter.AddExternalReference` for referencing external resources (e.g. materials from model resources)
Model inspector has useful info about meshes
`DragEvent` constructor is now public, allowing custom input systems to forward drag events through the UI pipeline. Thanks @dictateurfou!
Viewport background color is now customizable in editor preferences. Thanks @boxrocket6803!
Cursor page rework in project settings - now shows all system cursors you can override and auto-adds cursor images on upload
🧼 Improved
Audio system refactored with a lock-free triple-buffer threading model, eliminating previous crash-prone locking
Steam Audio effects compiled directly into the engine with AVX SIMD, roughly doubling spatial audio performance and removing the external DLL dependency
Physics queries no longer allocate heap memory for multi-result queries, using thread-local buffers instead
Physics callback virtual dispatch overhead eliminated by using concrete types and caching body type lookups
Rendering performance improved by removing redundant render attribute duplication, unnecessary performance trace scopes, and unused render pipeline stats
LOD clutter screen coverage now calculated per-model instead of per-tile for more consistent results
Media recording now captures at the end of the render pipeline, including overlays
VMDL writer now also saves the PHYS block when exporting models
Physics resource system modernized to use proper resource handling, enabling vphys resource previews
Steamworks SDK and steamclient updated to latest version, which should reduce network packet issues
Default video settings aligned between native and managed - MSAA now defaults to 4x (was 16x native), fullscreen defaults to borderless
Grass rendering looking super dark in places
Player display names now resolved locally, instead of by the host. Thanks @Matt9440!
Compile timeout raised from 60 to 120 seconds for large projects. Thanks @MrBrax!
Props now ignite their gibs when a burning prop breaks. Thanks @Xenthio!
Scene wheel zoom now treated as camera movement. Thanks @TheGWOO!
Dragged decal game objects now assigned proper names. Thanks @wheatleymf!
🪛 Fixed
Fixed morph target names and categorization when importing models
Fixed incorrect FBX morph normals
Fixed managed video settings overwriting CLI flags like `-sw` and `-720` on startup
Fixed shader "Internal Compiler Error" for inline shaders on Linux/Mac caused by wchar_t encoding differences
Fixed Steam Audio not working correctly on Linux
Fixed model scaling in mapping mode
Fixed ESC not cancelling mesh tools
Fixed ragdoll joint rest length using bind pose body positions instead of frame offsets
Fixed scaled physics bones when world transform has scale
Fixed objects wrongly becoming transparent after opaque fade fixes
Fixed chat network messages not registering on non-host clients
Fixed platform settings property getting cut off in the editor
Fixed custom shaders having tinted wireframe
Fixed mouse wheel direction for natural scrolling
Fixed material override not clearing properly when applying model material groups. Thanks @Matt9440!
Fixed Doo visual scripting not showing return assignment when function has no arguments. Thanks @PolEpie!
Fixed viewport flashing on Linux/XWayland by suppressing Qt paint cycle. Thanks @AlexTrebs!
Fixed pointlight shadows breaking when shadow resolution decreases. Thanks @boxrocket6803!
Fixed missing hover styles when dragging items over folders in asset browser. Thanks @Matt9440!
Re-enabled 'None' anti-aliasing option. Thanks @Mykol-Word!
Editor now opens on the correct monitor. Thanks @boxrocket6803!
Splash screen now always starts centered. Thanks @boxrocket6803!