s&box is now open source under MIT license, you can get it on GitHub and build the engine however you want.

Obviously this isn't the Source 2 code, that's up to Valve to open source if they want. For us Source 2 is providing lower level systems, all our high level systems are C# like the entire editor, networking, scene system, UI, and way more..

What this means is you can view, modify, copy any of our code to help improve s&box with pull requests, or maintain your own fork for your standalone games, or even just take the code for your own engine.

It might seem odd from a business perspective to make an engine and give it away for free with no royalties and to give all the code away under open source. But we're a bunch of nerds that love what we're creating, we want everyone to use it in whatever way they want, we want to provide opportunities.

Open source is great for the game dev ecosystem, engines like Godot are awesome, we should have more of it because everyone wins.
Wanted to take a look into issues on terrain, LOD chunks would have some seams around transitions, now it's all fixed.
While at it I decided to do a bit of dessert and implemented a technique to avoid obvious tiling by rotating segments of the texture.

Still experimental and we will tailor it to our needs but I think it solves one of the big issues of having a wide terrain

When breaking a prop the gibs didn't spawn on clients - only on the host. That was fine but they weren't networked, so clients couldn't see them. That's now fixed.

Also, when creating a model with gibs you can now define whether the gib should be client-side. If it's client-side, it'll only spawn on the client. 
We've completely rewritten how we handle memory allocations in our native (C++) code. This allowed us to remove a lot of complex code and unlocks some helpful memory debug tools like Address Sanitizer and Allocation Tracing for us.

We also switched our custom allocator from jemalloc to mimalloc.
What does this mean for you? Nothing really, performance is still the same, high-level functionality is the same.

Changes like this aren't always obvious, and it's fair to wonder why we bother. But they're pretty important because they make our code easier to maintain and will help us debug leaks, crashes, and other issues faster down the line.

The play mode changes were a bit of a shit show, they were a huge change under the hood and had a lot of edge cases. The team came together and fire fought a ton of bugs.
  • Fixed VR not rendering
  • Fixed envmaps not rendering
  • Fixed swapchains leaking when resized
  • Fixed TextEntry not working in-game or in-editor
  • Restored GameEditorSessions, so undo, selection etc. can all be linked 1:1 with scenes again 
  • Fixed cursors sometimes getting stuck
  • Fixed size selection not working
It's not perfect still, but it was a large move from C++ to C#, now it's open for everyone, we can maintain it and change it's behaviour properly now, that's the goal for all our remaining C++ systems.
25.11.26
25.11.26
25 November 2025
🎁 Added
  • Open Source
  • Terrain anti tiling
  • Gibs networking
  • Editor tool widget
  • UI EnumControl
  • UI Label.Tokenize (turn off automatic conversion of strings starting with #)
  • UI TextEntry has tokenize turned off, strings can start with #
  • UI ColorControl
  • UI Color mixer popup
🧼 Improved
  • Native memory management rewrite, switched from jemalloc to mimalloc
  • Refactor TreeNode.OnRename, it's not up to the node to create the popup anymore, just react to what the text is.
  • Stopped a lot of the editor recreating itself during hotloads
  • Networked Children Replication When Parent Is Disabled
  • Make indirect lighting from skybox actually be infinite rather than a big volume
  • Updated Box3D
  • UI happens after OverlayWithDepth (Scene.DebugOverlay, Physics Debug, etc.)
  • Animgraph sort condition list
  • Prevent Camera Preview LookAt mode from exiting immediately
  • ControlSheetRow.Property is a [Parameter]
🪛 Fixed
  • VR not rendering
  • Terrain no longer has LOD seams
  • MixerTreeNode inline rename not working
  • Update PlayerController docs link
  • Abort video threads early on stop
  • Storage.Query not sorting properly
  • Hammer crash from invalid CUtlScalarHash usage in mapdoclib
  • ShadingModel shows wireframe color correctly
  • Play mode not focusing, setting correct cursor, weird inputs, ime not working
  • Play button playing the wrong scene
  • Using Movie Maker in play mode
  • Ejected scene camera not being at game camera's location, NRE when no camera
  • ViewportOptions button being visible while ejected
  • Toggle eject button highlight + tooltip
  • Input: release pressed buttons when losing focus
  • Toggle Fullscreen toggles the current scene view
  • Game view resolution/ratio dropdown functionality
  • Restored GameEditorSessions
  • Fix nullref when right-clicking Inspector property name
  • Remote Spawn Child Transform Fix
  • "Render Backface" toggle not working in Material made from ShaderGraph shaders
  • Not being able to "Paste as New Component" on prefab instances
  • SceneTrace uses the passed scene.PhysicsWorld instead of Game.ActiveScene.PhysicsWorld
  • Skip menu editor code outside of the menu project
  • Asset Browser: skip menu project assets in Everything and Recents
  • Blendable materials can use tint color
🚯 Removed
  • Deleted old softbody nodes
  • Deleted old thirdpartylegalnotices.txt
trophy 1430
Apr 2021 115 posts
Update 25.11.26 : news/update-25-11-26
trophy 2269
May 2021 11 posts
Yay!
trophy 1230
Aug 2022 89 posts
based as usual, thanks FP
trophy 1360
Sep 2021 107 posts
Yes, making an open source engine is the right move. There is very little time left before release.
trophy 140
Jun 2021 103 posts
based
trophy 1260
Feb 2024 33 posts
i love s&box good job facepunch
trophy 1760
Apr 2024 1 post
This will help a lot with bugs. The community can pitch in and help, especially when it came to the bigger security issues discovered here and there. Thanks guys!
people
Log in to reply
You can't reply if you're not logged in. That would be crazy.