We've made some rendering optimizations this week, Screen Space Reflections is using indirect dispatches now, the GPU is feeding it's own commands, if you have this component enabled in your scene and just have rough surfaces it should have functionally zero cost now.

In a fully reflected scene you can see good improvements as well, our benchmarks SSR is down about ~0.4ms on average, whereas depth of field is down about ~1ms.
We'll keep on iterating on this to get frame time down as much as possible, there's a lot of obvious things to do to make things faster and more GPU driven.
As part of adding spawnlists to sandbox, we needed to add some more features to our Storage/Ugc system.

You can now query for authors, specific workshop packages, and reupload workshop items instead of only publishing new ones.
Last week we reported that our crash rates are down.
That was fake news, we were tricked by our backend which wasn't recording the stats correctly. Turns out crashes are even slightly up, hovering around 4%, which is obviously too high.

We dropped a new batch of crash fixes this week that should bring that number down and will continue looking into it. Stability & Performance remain a primary focus while gearing up for the release.

You can hold us accountable and track our progress via https://sbox.game/metrics/stability
We've added spawnlists. They're similar to how they were in Garry's Mod. But you're now able to publish them and share them on the workshop. Works with cloud stuff, local stuff, dupes, mounts, anything.
The vertex paint tool can now blend multiple layers together instead of painting a single channel at a time.
This week, we've added grid snapping to Sandbox. This isn't our end goal. We want to be able to define sockets on models, say a wheel, say a chassis, where you'd be able to weld stuff to those obvious sockets really easily.
Sometimes you may not want the navmesh to generate for your entire scene. Maybe you have a large 3D skybox, or maybe you don't want navmesh on rooftops.

You can now manually specify the bounds within which the navmesh should generate.


Using the context menu, you can now override materials, including material groups.
No more flashbang nude humans, they've all been given undies and told to never dress inappropriately again.
Continuing from last week's allocation work, we've kept chipping away at GC pressure.
In some places this helped a lot with performance, for example, Cloning Prefabs & GameObjects is now  2 times faster.

We've exhausted most of the obvious optimization potential now, but we'll continue addressing any unnecessary allocations we come across going forward.

We also took another pass at native resource leaks, particularly around shutdown. After some previous attempts we were still leaking native resources, and we've fixed a lot of them. Tracking these down also surfaced a handful of general runtime leaks, which we fixed along the way.
Hopefully, this will also reduce the large amount shutdown crashes most of us have been experiencing.

We also added a managed leak tracker that reports and force-destroys leaked resources at shutdown, enable resource_leak_tracking for full allocation callstacks and report them to us.
[...]
NativeResourceCache: Resource still alive during shutown,
                     which can indicate a leak: Material [10022664158783386085] model (model)
                     will be force destroyed.
NativeResourceCache: Allocation callstack:
   at Sandbox.Material.FromNative(IMaterial native, String name)
   at Sandbox.Material.Create(String materialName, String shader, Boolean anonymous)
   at MaterialLoader..cctor()
   at System.Runtime.CompilerServices.RuntimeHelpers.RunClassConstructor(RuntimeTypeHandle type)
   at Sandbox.ReflectionUtility.RunAllStaticConstructors(Assembly asm)
   at Sandbox.Mounting.Directory.LoadAssemblies()
   at Sandbox.Engine.Bootstrap.PreInit(CMaterialSystem2AppSystemDict appDict)
   at Sandbox.AppSystem.InitGame(AppSystemCreateInfo createInfo, String commandLine)
   at Sandbox.GameAppSystem.Init()
   at Sandbox.AppSystem.Run()
   at Sandbox.Launcher.Main()
   at Sandbox.Program.Launch()
   at Sandbox.Program.Main()
NativeResourceCache: Total leaks: 3
You can now get an event when a rigidbody goes to sleep.
We've added the ability to configure post-processing effects from the spawn menu. You can also submit your own with code/assets on the workshop.

This is a less glamorous blog, but a ton of small fixes and optimizations.. We launched clutter last week, as well as our new menu. Both have been well received, and we're working on improving new features over time.

We've been seeing a steady uplift in players over the last few months, it's been cool to see., considering we're barely marketing the game.
We've been giving Sandbox Game more and more love, and as we're gearing up for release, we're treating it as our flagship game. Try it out! Let us know what you'd like to see us add.
26.03.11
26.03.11
11 March 2026
🎁 Added
  • IScenePhysicsEvents.OnFellAsleep (#4243)
  • Author to Storage.Query
  • FileIds to Storage.Query
  • Variant type
  • Humans always have underwear 🥵 (#4236)
  • Less allocation heavy version of Task.Delay (#4225)
  • SSR Optimizations (#4244)
  • Custom NavMesh bounds (#4279)
🧼 Improved
  • Avoid CallbackBatch action allocations (#4201)
  • Cache type.GetInterface results (#4212)
  • Avoid allocations when pushing a mix perf scope (#4207)
  • Skip GameObject.MakeNameUnique in non editor builds (optimization) (#4204)
  • Sanitize all float/vec3 inputs in PhysicsBody methods (#4222)
  • Faster public sync (#4245)
  • Lazily initialize component lists (#4217)
  • Lazily initialize interpolation backing storage (#4208)
  • Simplified how ParticleGradients are serialized (#4252)
  • Reduced SpriteSystem per-frame allocations (#4249)
  • Avoid GameTags allocations (#4203)
  • Avoid async state machine overhead when processing acks (#4226)
  • Avoid unnecessary action bindings in CollisionEventSystem (#4200)
  • Protect against corrupt vulkan pipeline cache writes/reads (#4258)
  • Shutdown leak fixes (#4242)
  • Many Movie Maker Improvements and fixes (#4254)
  • Use ConcurentDictionary for TypeLibrary cache (#4270)
  • Fixed Synthesizer leaking SpeechSynthesizer threads (#4261)
  • Localization files are synced to clients from editor sessions
  • Community Contribution: Clamp FOV slider in game settings to an integer (thank you @PenialJackson)
  • Community Contribution: Made font loading recursive (Thank you @Kilian)
🪛 Fixed
  • Clutter fixes (#4240)
  • Fix copy of value types being boxed on the heap (#4202)
  • Fixed ignite/explosion prefabs having no sprite (#4233)
  • Fixed terrain disappearing after changing subdivision factor (#4239)
  • Dresser not applying clothes over the network (#4238)
  • Fixed hidden GameObject delete (#4251)
  • Editor: Fixed actions like extrude being run every frame when 2+ views are visible (#4166)
  • Reset SDL ModState when loosing application focus (fixes lingering inputs, for stuff like ALT + F4 after alt tabbing) (#4257)
  • Fix NRE during panel cleanup (#4269)
  • Don't clone or serialize static members (#4273)
  • Fixed hudpainter drawtext texture being deleted (#4272)
  • Editor: Include disabled gizmos in serialization (#4271)
  • Changing language refreshes localised labels, invokes Panel.LanguageChanged again
  • SceneViewportWidgt will no longer create duplicate editor cameras (#4280)
  • Community Contribution: Fix BBox gizmos after Hitbox.Sphere change (#4278, thank you @nixxquality)
🚯 Removed
  • Unecessary parameter from GetNextSibling
  • Trackball from Rotation control gizmo
trophy 1525
Apr 2021 139 posts
Update 26.03.11 : news/update-26-03-11
trophy 2050
Apr 2021 76 posts
Good stuff
trophy 415
May 2021 6 posts
Awesome!
trophy 775
Mar 2025 1 post
🙏
trophy 195
Aug 2021 2 posts
Cool
trophy 615
Feb 2026 3 posts
nice!
trophy 680
Nov 2025 6 posts
EGoriy 2 days ago edited 2 days ago
So you're literally playing the engine's own tools as a game.
trophy 1868
Sep 2021 182 posts
It seems like time to make server in Sandbox Game 🤘
trophy 300
Sep 2021 8 posts
Great post. Kudos to the optimization team. Hope the main menu presentation and performance are polished before release. Would be great if loading ran on a separate thread to prevent menu freezes. Also, basic actions like opening the console or pressing the "Cancel" button are still problematic.
trophy 10
Feb 2025 1 post
Nice optimisations, good navmesh bounds, great undies. 
trophy 830
Aug 2022 16 posts
Steve and Pig

trophy 1385
Feb 2024 45 posts
its pretty cool that now we can submit our own sandbox post processing fx !!
trophy 30
Mar 2026 1 post
67
people
Log in to reply
You can't reply if you're not logged in. That would be crazy.