s&box

s&box 26.05.27

Version
26.05.27
Version Date
May 27, 2026
Links

Patch Notes

Update 26.05.27

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