We've removed the launch options popup each time you launch s&box, this used to prompt you to play the game, open the editor, or launch in VR mode.

Now it launches directly into the game, with the editor being on a seperate tool app on Steam. Right now this is nothing more than a shortcut, but we'll be able to exclude editor files from normal users in the future.

Instead of you launching into VR mode, the game now detects if you have a headset plugged in, then you probably want to play in VR mode.
The iteration gap has been feeling too big, we're shipping a lot of features each week for Sandbox but waiting an entire month for people to play with them feels too long.

We're going to release a feature patch each week now whilst we're in such active development. We think this will still be a good balance between delivering a stable experience and delivering new features.
The games list was getting a bit stagnant, being ordered by popularity. Nothing new was really breaking through, despite there being a lot of cool things being made. So I decided to put the work in this month and make a "shelf" system where we can dynamically edit the shelves, and they can have different styles. Inspired by Netflix.
There's a web version here, using the same shelves. This puts us in a pretty good position to change and update this list of games easier in the future.
Props can be set on fire and explode again! This is configured in ModelDoc, and is something I want to add more engine-wide interactions to in the future.
Sandbox Mode has cloud entities now. This is still quite an immature system, but it's working and people are making cool stuff already.
I've been really impressed that people have been able to make this stuff so far, without any real documentation.
I fixed up the duplicator to work properly with objects connected by physics joints. While I was there I gave it some extra pazzaz. Now you can hold shift and add extra unconnected objects to the duplication, too.
I also made it work properly with ragdolls. Which was more work than it should have been.
Last blog post we talked about our crash rates being horrific, this month we've focused a lot on crashes and have resolved several of our top crashes. Our crash free sessions over the last month has improved by 1.44%.


Our biggest one was texture use after free: we were sending several textures to the renderer that were being deleted before they could be used - this was mainly happening when using RenderAttributes as the only place a Texture existed.

Many Windows 10 LTSC users couldn't launch the game before, this was because of CET compatability added in .NET 9 - this is now resolved and the users can now play the game.
  • Fixed a crash whilst hotloading after opening and closing Hammer.
  • Fixed a crash calling tool framework spin too early
  • Fixed a crash in CreateRenderMessage when using awkward names
  • Fixed an editor crash if you spent over 60 seconds recompiling assets
Fixed planar reflections causing resourcesystem to get stuck thinking it's rendering, never executing texture streaming and leading to an eventual crash.

Finally we've updated our crash reporter Sentry to the latest version and adjusted several options in hopes that it catches more user crashes for us to fix.
Last month, we mentioned that we are unhappy with the editor startup, in particular, the startup time.
A big chunk of that was the “did this asset change?” pass using an old & slow CRC32 algorithm.
We replaced it with xxHash3 which is over 100x faster than our old CRC32 function.

After updating, the first project load will trigger a full recompile to generate new hashes. After that it will be much quicker to start.



We’ll keep looking into other aspects of improving startup times(like compile times) over the next months.
Sprites now have their own Resources now. This is super useful for 2D games or games with lots of animated sprites. Sprites can have multiple animations, each with their own frame rate, origin, and eventually things like broadcast events and attachments.

You can still use Textures/Images without a Resource. Any pre-existing SpriteRenderers and ParticleSpriteRenderers will automatically upgrade to the Embedded format and dragging a new Image into a scene will Embed it for you.
We'll continue to build on this to make the 2D workflow better and better :)
We've added several graphics settings to the menu:
  • Texture Detail: Sets the maximum texture resolution that will be used
  • Volumetric Fog
  • Post Processing: Controls the quality of several post processing components such as AO, DOF, SSR
  • Motion Blur Strength: Multiplies motion blur by this amount, dragging to 0 will disable it.
These are purposefully broad with the ability to apply much more granular settings with convars.
Performance has been taking a bit of a hit lately, especially in post-processing effects. We're mature enough in our feature set to focus deeper on optimizations now.

A lot of steps are now decimated and precomputed better, and we’re doing a bunch of things smarter overall.

With these changes:
  • Screen-Space Reflections are about 4-8x faster
  • Bloom is about 14x faster

There's still plenty of room for major optimizations on the table for the future, and with Motion Vectors being merged soon it should open the doors to need a lot less brute forcing in effects.

We're internally tracking benchmarks for more things so it's easier to prove gains and identify regressions if they happen.
Did a bunch of fixes around alpha-tested materials - these are things like foliage, chain-link fences, and similar materials.

This sucked forever, now it's great.

They would have sparkly shadows, edges would look overly soft , and just wouldn't look right, no controls to their look for authoring, should be correct anywhere now.


The benefit of using Box3D is that we can get constant updates to it. One of these updates included a "motor" joint, we call it a control joint in our API.

The control joint is designed to control the movement of a body. This improved our physgun to behave more like it does in gmod.

Another update included a solution to "ghost collisions" where rolling an object on a mesh collider would sometimes hit internal edges, this is now solved.


We've added support for dragging in components as their interface types this month. We're planning on extending this to GameResources soon.

It means you can code something like this and drag it into a property in the editor:
public sealed class MyDisplay : Component, IDisplay
{
    [Property] public string Name { get; set; }
}

...

// In another component, can be dragged in by eligible components
[Property] public IDisplay MyDisplay { get; set; }
Last month we launched our first community cosmetic, the Shark Head by Shadowbrain. That item has now stopped being sold, and we won't sell it again.  Half way through the month we started selling the Safety Glasses by GKaf, and those will stop being sold on the 14th of October. Today we've started selling the Propane Helmet by Duck. It'll stop being sold on the 1st November..
There are people that like to laugh and point out that we shouldn't be selling cosmetics for a game that isn't released. The thing about that is that monetization is part of making a game. We need to test it and we need to make sure it works. In an ideal world games would be funded with sweet dreams and warm hearts, but that's not the world we live in. We want s&box and its engine to be a feasible, self sustaining system that we can develop and evolve for years to come, and that really only works if it can wash its own face.

We're trying to find ways to monetize in ways that sustains us and feeds the community. To find ways to help people use their talents to make a living. That's what Valve did with me and Garry's Mod. That's what I want to spend my time doing.
As we've mentioned previously, we intend to let you export games from S&box and release them on Steam.. without paying any royalties to us or whatever. We think that'd be pretty cool.

Getting the license to allow us to do that has been treading water for a few months, without anything really noticeable happening. Things started moving this month. It's still lawyers talking to lawyers, so it's never going to be fast - but we're seeing progress!

Hopefully, we'll have more to talk about with this soon!

I finished the Rocket Launcher last month and Max has been animating it. It's now available on the Workshop.
https://sbox.game/facepunch/v_recoillessrifle
All the weapons are available in our 's&box weapons' collection. https://sbox.game/facepunch/sboxweapons
We've added a couple of new features to our platform modals this month:

Player List

Your games can now have a player list, which lets you view profiles, send friend requests, and if you're the host, kick people.

Change Map

If your game supports it, the host can switch the map straight from the pause screen.
You can now export your Movie Maker projects to video files, perfect for trailers and machinima. Included are some motion smoothing options to simulate various shutter speeds, and a live preview to help you tweak the export settings.
We’ve started to really tie up loose ends this month. It feels like we’re on the final stretch, so a lot of the work has been about closing doors and tightening bolts rather than adding wild new stuff.

At this stage we're going to be very reliant on our community to guide us on where our remaining pain points are. By pushing weekly patches we're hoping to tighten the iteration gap and make this easier.

Thank you to everyone using and testing the engine week after week, creating games, creating tools. We're all excited to give back to the community through the playfund, cosmetics and soon through game exporting.
October Update
0.7.0
1 October 2025
🎁 Added
  • Discovery Page
  • Sprite Resources
  • Prop Interaction System
  • Live Lobbies
  • Editor: Managed screen recorder
  • GpuBuffer.GetDataAsync
  • Texture.GetPixelsAsync
  • Editor: `SceneUtility.RunInBatchGroup` helper
  • Rendering: Sphere bound check for frustum culling
  • GameObject: `RunEvent<T>` method
  • Editor: Managed screenshot service
  • Debug: Overlay frustum drawing
  • UI: Multi-edit support for dropdown controls
  • Camera: Frustum API using screen rect
  • Utilities: LZ4 compression/decompression
  • UI: Infinite scroll for package lists
  • Profiler: Auto-upload for captures
  • Editor: Added ListHeader to Asset Browser/Cloud Browser
  • Editor: Added `BaseItemWidget.SelectItems` to select multiple items
  • .webp files are now recognized as an Image asset type
  • Editor: Movie Maker video file export
  • Physics: Ball joint motor
  • Physics: Control joint
  • ModelPhysics.Mass/MassCenter
  • Decals have filter modes
  • Pause Screen: change map modal
  • Pause Screen: player list modal
  • Steam.FilterText methods for censoring text based on their Steam settings
  • Render Settings for texture detail, post processing, volumetric fog
  • Editor: Can now pin camera previews
🧼 Improved
  • Rendering: Default text rendering filter mode applied
  • Camera: Transform updated before frustum queries
  • Physics: Parallel joint and ghost collision handling
  • Rendering: Cubemap fog now respects rotation
  • Rendering: Standardized sprite roll rotation
  • UI: Games page shows up to 200 items (was 60)
  • Diagnostics: Exception reporting buckets cleaner
  • Animation: Update optimizations
  • GameObject: Clone performance improvements
  • UI: Create Game dialog usability improvements
  • Memory: Use CUtlVector for safer result handling
  • Serialization: Component interface serialization support
  • Audio: Soundscape box/sphere priority handling
  • Tools: Visualization modes always supported
  • Hashing: Migrated FastHash to xxh3
  • Hashing: Native CRC32 replaced with xxhash3
  • Optimization: AnimationUpdate hotpath, reduced frame time spend on animation (~10% improvement)
  • Optimization: Gameobject.Clone
  • Framework: Updated Facepunch.AssemblySchema (fixes protected members being stripped)
  • GraphView: Dragging a node or selection box to the edge of the display now pans in the graph
  • ShaderGraph: UI Group / Subgroup names now show a dropdown choice with other values used for that property in other nodes
  • Editor: "Create Child" now creates a GameObject under all selected GameObjects (instead of just the first)
  • Editor: Renaming GameObjects through the TreeView is now undoable
  • Editor: "Paste as Child" will paste under each selected GameObject (instead of just the first)
  • Editor: Dragging a GameObjectNode on top of itself no longer plays the error sound
  • Editor: Renaming multiple GameObjects at once will make each name unique if under the same parent GameObject
  • Don't init GameObjectSystems on PrefabScenes
  • Maps now default to using Sandbox instead of Walker
  • Editor Cloud auto-cleanup
  • Resolution scaling for screenspace reflections
🪛 Fixed
  • Failure to launch the game on Windows 10 LTSC because of forced on CET
  • Crash trying to render disposed textures
  • Crash in `ToolFramework2->Spin`
  • Crash in `CreateRenderMesh` with certain names
  • Crash when selecting maps in Asset Browser
  • Crash when hotloading after closing Hammer
  • Low resolution textures after seeing a planar reflection
  • Memory leak on editor and dedicated server from metrics
  • Navigation Tool: Overlay deletion when not enabled
  • Navigation: Navlink edge cases & NREs when disabling the link
  • Physics: Mass overrides not applied correctly to body parts
  • Resources: Type cache not clearing in resource system
  • Hotloading: Issues with ConcurrentDictionary and keyed collections
  • Editor: Startup reliability improvements
  • Editor: Movie import menu breaking after repeated use
  • Compiler: File saving during compilation race condition
  • Rendering: Depth-aware filter regression (borders)
  • Editor: Selection/undo inconsistencies
  • Editor: Overreaching custom editor logic affecting widgets
  • UI: Interface control widget taking unintended priority
  • Prefabs: Duplicate ID warnings for broken/unloaded references
  • Prefabs: ApplyGameObjectChangesToPrefab for hierarchies with "added prefab instances"
  • Rendering: Z-fighting on highlight component inner color
  • ShaderGraph: Surface preview errors
  • Video Recording: Cursor flipped
  • Video: FFmpeg deprecated pixel format warning
  • Video: VideoPlayer Duration returning 0 for some files
  • UI: `Package.VideoThumb` not being set
  • UI: Unnecessary stylesheet lookups on panel creation
  • Editor: MovieMaker serialization errors
  • ShaderGraph: Numbers can be used in parameter names without them getting cleaned out
  • Editor: Eye Dropper Tool can now find disabled Components
  • Editor: ListControlWidget now accepts a multi-select drag containing disabled Components
  • Editor: Fixed `GameObject.MakeNameUnique()` logic
  • Editor: Cloud Browser no longer loads more assets when scrolling to the bottom of the "Installed" section
  • Editor: Asset Browser Flat View no longer allows you to accidentally drag files up into the root folder
  • Editor: "Delete File" prompt no longer shows incorrect file extension for certain asset types
  • Editor: Block tool having incorrect tangents
  • Bonemerged objects having uniform transforms, looking distorted when parent transform has affine transforms
  • Capsule class does not want a Vector3Converter
  • Range step precision when dragging
  • Black in fullbright toolvis mode when using metallness
  • Regression on bloom where bloom-only layer being composited with only mip 0
  • NRE when starting lobby on an unpublished project
  • don't base ui skew on window size
  • Fix vignette on Gaussian Blur Downsample
  • Fix Mipmaps for Decals
  • Fix cloud cosmetics not appearing in game
🚯 Removed
  • Launch options: editor is now a seperate steam app
  • Unused Thickness property on Surfaces
  • Unused texture filtering user config
  • Various quality settings on post processing components, these are now user convars
  • Many third party libraries that were unused or barely used
trophy 1415
Apr 2021 89 posts
October Update : news/october-2025
trophy 400
Jul 2023 17 posts
🔥🔥🔥
trophy 4244
May 2023 34 posts
Very very cool 🔥🔥🔥
trophy 4700
Oct 2022 36 posts
 Can't wait to see the rest, great work ! 
trophy 635
Sep 2021 11 posts
Great work as always. 
trophy 140
Jun 2021 86 posts
bangers
trophy 1230
Aug 2022 79 posts
straight up octobing it
trophy 2020
Apr 2021 56 posts
Those are some scary looking ghouls 🧟😱
trophy 0
Jul 2024 11 posts
The MAZZTer 5 days ago edited 5 days ago
I am concerned about the monetization primarily because it feels like you are exploiting FOMO through limited time offers. I would love to see monetization that does not exploit this. Logic says this should be less profitable. But then again Valve upended the gaming industry by offering sales in an industry that never did and ended up making ALL the money. So who knows?

Looking forward to updates on the royalty free exports. My workplace uses Unity to build training software and would be interested in a .NET compatible engine like s&box, especially with all the Unity inspirations that are clear in your editor.

Resolving half of all crashes is either phenomenal, or  "oops that was an embarrassing typo" type embarrassing. Sounds like you're getting a good system in place to detect and resolve crash bugs.

You should reconsider the way VR mode is launched, or at least add some form of override (such as Steam's launch menu) to force non-VR mode. I don't like it when games autodetect like that. I personally keep my VR headset connected since it's a pain to get around to the back of my PC to unplug and plug its multiple plugs. There is a breakaway connector (which I disconnect instead when needed for this sort of thing) but it's not really designed for use in this way and it's still a pain to fish it out of my rat's nest of cables behind my PC. It would be nice if I could just tell Steam to launch a non-VR override every time and only switch it up if I feel like VR.
trophy 0
Jan 2025 1 post
its...perfect
trophy 1028
Feb 2023 1 post
Worst update till now, I dont unplug my VR just to play the game in non vr mode.
trophy 861
Oct 2021 86 posts
 I am concerned about the monetization primarily because it feels like you are exploiting FOMO through limited time offers. I would love to see monetization that does not exploit this. Logic says this should be less profitable. But then again Valve upended the gaming industry by offering sales in an industry that never did and ended up making ALL the money. So who knows?

Looking forward to updates on the royalty free exports. My workplace uses Unity to build training software and would be interested in a .NET compatible engine like s&box, especially with all the Unity inspirations that are clear in your editor.

Resolving half of all crashes is either phenomenal, or  "oops that was an embarrassing typo" type embarrassing. Sounds like you're getting a good system in place to detect and resolve crash bugs.

You should reconsider the way VR mode is launched, or at least add some form of override (such as Steam's launch menu) to force non-VR mode. I don't like it when games autodetect like that. I personally keep my VR headset connected since it's a pain to get around to the back of my PC to unplug and plug its multiple plugs. There is a breakaway connector (which I disconnect instead when needed for this sort of thing) but it's not really designed for use in this way and it's still a pain to fish it out of my rat's nest of cables behind my PC. It would be nice if I could just tell Steam to launch a non-VR override every time and only switch it up if I feel like VR. 
trophy 2090
Jul 2022 13 posts
I'll see you all on the moon with my 35 sharks 
trophy 1285
Sep 2021 86 posts
📦
trophy 735
Feb 2023 1 post
Great work guys!
trophy 0
Oct 2025 6 posts
my suggestion is hurry up and fix the game and stop listening to stupid liberals you have the mirror for that already!
people
Log in to reply
You can't reply if you're not logged in. That would be crazy.