With everything I'm doing with Sandbox Mode I'm trying to innovate in some way. I've been trying to re-imagine hydraulics this week. Trying to add something more controllable and more useful.
When a game publishes to workshop now, they can specify a bunch of categories for the user to select from. We're using this in the dupes in Sandbox Mode to allow them to categorize the published workshop item.
To achieve this you just call the AddCategory method on the Modals.WorkshopPublishOptions struct.
The Slang Shading Language VSCode Extension has been updated supporting s&box shaders, this extension provides a strong intellisense for HLSL shaders with highlighting, error checking and code completion - making creating shaders much much easier.
To further support this, projects auto generate a VSCode workspace that suggests the extension, configures search paths and sets it to recognize s&box shaders by default. Additionally many shader includes have also been made public.

Check out the docs https://sbox.game/dev/doc/systems/shaders/getting-started/
Some issues with modelphysics were fixed that allows people to extend the usability of them. Mainly, when the component is disabled, all the components it creates are disabled instead of destroyed so they can be toggled on and off without remaking them.


I've made various changes to improve changing a scene over the network.

Previously, when networking a scene change, it'd accidentally send a destroy message for every networked object in the scene. This could add up in a large scene with lots of networked objects, now it skips that entirely because the scene will be destroyed locally by each client anyway.

In addition, we'll wait for the host to fully finish loading the scene before we package it up and send it to each client. This makes sure we don't send any other useless messages, too. For example, loading a MapInstance in a scene could take some time, we want to make sure the host has it ready first.

I've also added support for INetworkSnapshot to GameObjectSystem so you can serialize and deserialize arbitrary data when the scene changes or the client joins for the first time.
The .NET 10 field contextual keyword was causing errors when used in the setter or getter of a [Sync] property. I've now fully updated our CodeGenerator to support this keyword. This means you can also use it with any of your custom attributes using our CodeGenerator.

In addition to that, I've added support for generic arguments with methods to CodeGenerator. This means you can now wrap methods LikeThis<T, R>(). By extension, this means you can now call RPC methods with generic arguments.
We have a lot of GPU crashes at the moment.

So, why don't we just fix them? For most crashes we lack a way to reproduce them, which makes fixing them nearly impossible. The crash reports we have on Sentry right now aren't much help either, they just say "GPU crash" without any actual details about what caused it.

To tackle this, we've enabled Nvidia Aftermath, a GPU crash analyzer that tells us exactly where things are going wrong in the GPU pipeline: which shader, what stage... These reports get uploaded to Sentry automatically, which  should help us a lot in when debugging GPU crashes.

There might be a small performance hit for Nvidia users with Aftermath enabled, but it's necessary to get everything stable for release.

If needed, we will expand on the GPU crash reporting system and look into similar tools for other GPU vendors or vendor-independent solutions.


There is a neat hidden tool in hammer where pressing F does a quick single bevel, I've made it less hidden away and gave it another feature of picking the amount of cuts.
Added the ability to select faces and objects using a material.
You can now merge meshes by edge, which means it'll merge the selected meshes if they have a connecting edge.
Added Undo/Redo to the Fast Texturing Tool.
26.01.14
26.01.14
14 January 2026
🎁 Added
  • Workshop items can now have a category
  • Nvidia Aftermath is now enabled by default and uploads GPU crash dumps to Sentry
  • Shader sources that were in our open source repo are now pushed to Steam too
  • Editor console links can open files (like videos)
  • Rubber Surface Type
  • Mapping: Fast Bevel Tool
  • Mapping: Fast Texturing Tool Undo/Redo
  • Mapping: Select Faces/Objects using Material
  • Mapping: Merge Meshes By Edge
  • Joint has an advanced AnchorBody property
  • GameObjectSystem supports INetworkSnapshot
  • AssetTypeAttribute.FindTypeByExtension
🧼 Improved
  • SpriteRenderer: Alpha Cutoff is allowed in all circumstances
  • ModelPhysics behaves better when enabling and disabling
  • Many IDisposable objects are now disposed properly with a using scope, reducing GC pressure
  • Many materials and shader references have been statically cached, reducing GC pressure
  • Dont break prefabs on networkspawn
  • GameResourceEditor windows are child of main editor (they no longer hide behind it)
  • Inspector now resolves SceneEditorSession from it's target
  • ByteStream now uses ArrayPool as it's backing storage
  • Mapping: Double click faces selects contiguous faces, not all of them
  • Mapping: Compute vertex tangents the same way hammer does
  • Mapping: Gizmos no longer eat inputs when double-clicking
  • Make DEBUG define constant controlled by ReleaseMode
🪛 Fixed
  • Duplicate files when publishing a package, preventing publishing
  • Texture.Load and other media loads now obey the same rules as Http.Get
  • Terrain texture streaming not working
  • SkinnedRenderer add null check when accessing go parent
  • GlobalContext getting dropped in async tasks causing naked avatars in the main menu
  • Corrupt shader cache preventing the game from opening
  • VSCode workspace files failing to write when projects contained unittests
  • VSCode workspace sets slang.workspaceFlavor to vfx enabling shader intellisense
  • Texture Cube Fixes
  • Wheel suspension gizmo goes along Y
  • Handle HttpRequestException on package get
  • Label IsRich not applying font size, scaling properly
  • Game Controller Vendor Fix
  • BuiltIn game projects (menu) aren't dependent on libraries
  • Inspector selection lag
  • ComponentEditorWidget ignoring derived types @badandbest
trophy 1515
Apr 2021 122 posts
Update 26.01.14 : news/update-26-01-14
trophy 1640
Sep 2021 146 posts
it's perfect
trophy 145
Jun 2021 130 posts
neat
trophy 1640
Sep 2021 146 posts
the chair update for the Sandbox game
trophy 505
Nov 2025 3 posts
Oh, how I am enjoying the high frequency of updates and fixes
trophy 45
Jan 2026 2 posts
I wanted to mention that some of the props in "All" can't be moved by the physgun. Is there any reason for this??
trophy 10
Jun 2023 1 post
Awesome progress!
trophy 480
Aug 2024 2 posts
MORE GOODIES!!!
trophy 4880
Oct 2022 39 posts
Nice
trophy 0
Oct 2021 8 posts
When are we getting the ability to import 3d models as editable geometry like how you can in hammer? 
trophy 1385
Feb 2024 38 posts
Every week we get closer to the deletion of hammer, awesome
people
Log in to reply
You can't reply if you're not logged in. That would be crazy.