This was always the plan, but we've finally open sourced our Sandbox gamemode for you to learn from and take stuff from. You can also make pull requests and report issues in the GitHub repository.

GitHub
GitHub - Facepunch/sandbox: Sandbox mode for s&box
Sandbox mode for s&box. Contribute to Facepunch/sandbox development by creating an account on GitHub.
We've moved our documentation source code to GitHub, it was all already in markdown so it wasn't that difficult. This means it's open source, anyone can create or edit documentation with a pull request.

When the GitHub repository is updated the changes are synced to our docs page on this website.
GitHub
GitHub - Facepunch/sbox-docs: Official documentation for s&box
Official documentation for s&box. Contribute to Facepunch/sbox-docs development by creating an account on GitHub.
This isn't a replacement for us writing documentation ourselves, if anything this makes it easier for us to do it too. But it's also something everyone has been asking to help out with for a while now, and given the quality of open-source contributions to the engine, it just makes sense.
Love it or hate it, people are using AI to code and it's trying to read our documentation. Instead of AI needing to request, crawl and read entire web pages, we've added a couple of things to help it along (and get off our servers):
  • llms.txt — a file llms look at to understand s&box as well as further links to all documentation pages
  • docs.md — appending .md to the end of any documentation page now outputs it in raw markdown, no html, no javascript, no styles.
Keeping with our goal to improve our platform's UI before release, we've made improvements to the UI for the games hub.

There's a nice big carousel showing featured games, and we're now using the new game card component, giving us consistency with the new home screen and the new hub.

We still have more improvements to make to the whole menu before and after we release.
I've added Doo to the engine. Doo aims to be a simpler, friendlier version of ActionGraph.. It's got very deliberate constraints and restrictions, it's not designed to build whole games in, or do crazy logic in. It's meant to be a more advanced version of EntityIO.
Usage is simple, in a component define it:
[Property] public Doo OnPressed { get; set; }
Then to run it
Run( OnPressed );

// or with arguments
Run( OnPressed, config =>
{
	config.SetArgument( "user", presser );
} );
This has been blocking us adding a standard library of components for mapping, so that's gonna be next to really test it out.
Noticed a lot of our frametime on Steam Deck on the main menu comes from the 2nd sunlight shadow cascade.

The only thing missing from our new CSM implementation that didnt carry over was that we never re-renderered what's inside the previous cascade previously, I have dealt with that.

Seeing that we now use a spherical cascade I derived that we can have our shadow far-z be at the edge of the sphere, also making the far plane cull off anything in beyond the sphere bounds.


Should improve perfomance in areas with a lot of sun shadowing.
A tool that let's you create cables simply by clicking.
I added two new NPCs this week. One is a simple combat NPC that tries to shoot and kill you with a gun.
Another one is the Roller. This one is early days, but it's all physics-based, rolls over and leaps at you.
NPCs kills are in the kill feed now too. Our NPC framework is open sourced as part of us making the gamemode publicly available, so feel free to copy and paste it into your own projects!
We have one emitter now. It has a few effects. We'll add more. We'll also add workshop support in due time so you can add your own.


I added a bunch of stats & achievements, so get hunting! I'll be adding more of these. Got any ideas?
26.04.08
26.04.08
8 April 2026
🎁 Added
  • Doo, a simpler visual scripting system for wiring up component events — designed as a friendlier alternative to ActionGraph for common use cases
  • Mesh cable tool in the mesh editor for creating cables, working similarly to Hammer
  • New games dashboard with a rotating carousel and redesigned game cards
  • `lang.showkeys` cvar and editor toggle to display localisation keys instead of translated text for debugging
  • CSS `overflow: clip` and `overflow: clip-whole` properties for UI element clipping
  • CSS `background-playback-state` property to pause video backgrounds
  • `[ShowIf]` and `[HideIf]` attributes now support null checks
  • Center option added to the pivot list in mapping tools
  • `IFormattable` whitelisted for use in the sandbox. Thank you @RumBugen!
🧼 Improved
  • Texture editor moved into the inspector - Thank you @boxrocket6803!
  • Cascaded shadow map exclusion culling — shadows no longer render beyond each cascade boundary and objects from previous cascades are no longer re-rendered, significantly improving shadow performance
  • Networking thread now processes messages at the same tick rate as the main thread
  • Particle sprite GPU upload performance — buffer uploads moved into valid Graphics.Scope to avoid unnecessary render context creation
  • Network packet byte arrays are now pooled in DecodeStream, reducing GC pressure for large compressed payloads
  • Fixed a Steam buffer GCHandle leak where N-1 handles would leak per broadcast packet; replaced with a cheaper memcpy approach
  • `Package.MountAsync` now supports mounting specific package revisions, allowing games to pin map versions
  • `LoadingScreen.IsVisible` is no longer overridden every frame, allowing games to manually control loading screen visibility
  • `Game.ChangeScene` now shows a loading screen for all clients instead of just the host
  • Engine overlays remain visible during loading states
  • ScreenPanel `Scale` property now works when Auto Scale is enabled, and `Opacity` now correctly affects ScreenPanels
  • Undo support for WrapTextureToSelection and WrapTexture operations in the mapping tools
  • Pause modal now uses the lighter HtmlPanel instead of a full WebPanel
  • Launcher window geometry is saved when auto-closing
  • PATH changes are now a no-op on non-Windows platforms. Thank you @MrSoup678!
🪛 Fixed
  • Disabling shadows on a directional light now works correctly
  • Shader compiler shutdown crashes resolved by properly draining the material system and preventing Steam callbacks after managed shutdown
  • Exceeding the maximum light count no longer triggers assertions or causes directional light flickering
  • `GetPixels` arguments are now validated to prevent negative values, fixing a security vulnerability
  • Referencing a deleted prefab no longer crashes — the editor shows a warning and preserves instance data for recovery
  • Creating a prefab from a GameObject now correctly restores the object's position
  • Reverting changes on a nested prefab instance no longer wipes all outermost overrides
  • Applying changes to a nested prefab no longer regenerates all GUIDs
  • Fixed cyclical library references caused by built-in projects referencing libraries
  • Fixed a null `AssetTypeAttribute.Name` NRE that silently shut down the GameInstance on editor startup
  • Game loading is now properly cancelled on disconnect, preventing background loads from continuing
  • Fixed filesystem unmount exceptions when a load is cancelled
  • Prop gibs now properly inherit velocity when spawned in a batch group
  • `IgnoreSingleObject` trace now correctly checks both rigidbody and collider GameObjects
  • Glass shader tint now blends correctly through multiple layers using premultiplied alpha blending. Thank you @Infiland!
  • `backdrop-filter: blur` no longer generates excessive mipmap levels Thank you @Infiland!
  • Toast notifications (e.g. achievements) no longer persist indefinitely
  • Post-game info popup is no longer dismissed on click, so its actions can be used. Thank you @RumBugen!
  • Fixed human models having deformed hands with the "holditem" holdtype
  • Fixed TextRenderer alignment not updating on re-enable
  • Fixed possible NRE in `Button.Text` setter
  • Fixed possible NRE in `UpdateMusic`
trophy 1550
Apr 2021 185 posts
Update 26.04.08 : news/update-26-04-08
trophy 2008
Sep 2021 214 posts
add the achievement titanovsky_in_server
trophy 430
Aug 2023 1 post
Koumiss on sour cream
trophy 2068
Feb 2025 18 posts
WW
trophy 6822
Apr 2023 15 posts
Garry please hop on, I need that achievement. I love you...
trophy 540
Jul 2022 5 posts
each official sandbox gamemode map needs a literal sandbox in it to complete the sandbox inception of s&box sandbox sandbox
trophy 0
Apr 2026 1 post

Why do sausages have human hands?

trophy 115
Aug 2022 1 post
sry for off-topic, but i have constipation
trophy 10
Apr 2026 1 post
I didn't get it. How do I activate Doo?


trophy 2848
Jul 2022 51 posts
Looking great!
trophy 3965
Jul 2022 11 posts
I wouldn't underestimate what people can DOO with the doo editor. Hopefully, it can be worked on more and maybe be better than what I thought Actiongraph could be in the future.
trophy 125
Oct 2021 5 posts
very nice!
trophy 1550
Apr 2021 185 posts
> I wouldn't underestimate what people can DOO with the doo editor. Hopefully, it can be worked on more and maybe be better than what I thought Actiongraph could be in the future.

This is exactly what we don't want — making games in visual scripting is shit, people should learn to code.
people
Log in to reply
You can't reply if you're not logged in. That would be crazy.