A new update has been released, you can view the full changes on our blog post.
https://sbox.game/news/update-25-11-05
Shitting
We want to sit on stuff in Sandbox Mode. It's a common thing, so I built it into the engine's PlayerController.
To use the new sit mode you need to add the SitMoveMode component to your player controller. Then add a Chair component to something, configure it, and you're done.

Their chair is quite an important piece of the puzzle here. It unlocks a lot of stuff when you think about it. A lot of things are really just chairs. Like beds. Or toilets. Or cars. Or bikes. Or arcade machines.
You're basically locking the player in a place and playing an animation. You could be redirecting their input into something else, which would create vehicles, or sentry turrets, or grabber machines. This is the key to a lot more functionality down the line.
Editor Config
BaseChair is a component you can use straight away in the editor to create chairs (you can also derive from it to create your own chair components easily).
Future
Like I said, there's a lot we can build off of the chair stuff. We want more sitting animations (like lying down etc). More functionality (flags to restrict weapons etc). And then eventually, this is where vehicles are going to easily come from.
Terrain Displacement
Terrain materials now support displacement. This helps making flat looking surfaces more detailed by varying the height of the geometry based on a displacement texture.

Instead of this being parallax it's moving actual vertices, which means you will also see shadows interact nicely.
Cosmetics
I wanted to address the cosmetics situation, since we're seeing a lot of hostility towards it because we have fell into a reliable schedule with it all now.
We're making our own seasonal clothing items that are limited sale. They're only ever going to be for sale during that period, and if you missed them, you missed them. You have to try to pick them up on the marketplace if you really want them. Otherwise you missed them. We do a set of these every few months as the season dictates.
Then we have community workshop items. We were doing 2 of these a month. We're going to do one a month now - at least until after release. These are limited sale items too. The creator gets a cut of the profits. As backwards as it sounds, they make more money for the creators being limited items than being for sale forever.
Our Money
When you pay us for these items, some goes to valve, some goes to the creator, and some goes to us. We use our cut to pay for the play fund. The more items we sell, the more money we make, the more money we can put in the play fund. This is all money that we're paying directly to creators.
The playfund has been running since February this year and we've paid out over $180,000 directly to the community. We hope to put a couple of extra decimals on the end of that number over the next 10 years.
FOMO
The people who act like we're fucking them with FOMO have never truly been fucked. We're not doing loot boxes. We're not doing shit where you get a crate and have to buy a $10 key. We're creating a viable long term economy where rare, hard to come by items are worth more.
This is how economies work. If gold fell from the sky it would be worthless. There has to be scarcity to create value. There has to be value to encourage purchases.
I want to create an economy where the people that have played for 5 years have an inventory worth more than they paid for it. I don't see anything wrong with that system. I see only winners.
Market Prices
Market prices should always be higher than the purchase price. If not immediately, then they should be after a year or so. This is what we should expect, this is what we should encourage. This isn't a bad thing at all. This is a healthy economy.
Changelog
🎁 Added
More packages to the GameCache
Editor can use menu overlays in games
Add references to editor libraries from editor compiler/csproj
Movie Maker: Image Sequence Export
Physics: Rigidbody.GravityScale
SpriteRenderer `OverlayColor` property
MoveMode.CalculateEyeTransform()
MoveMode.UpdateCamera( CameraComponent cam )
PlayerController .IEvents.PreInput
Collider.ColliderFlags
SitMoveMode - a MoveMode for PlayerController that enables sitting
ISitTarget - used by SitMoveMode to allow sitting on a component
BaseChair component
Terrain displacement
Sandbox Entity Template
🧼 Improved
Dev staging builds are now versioned date-commit e.g 25.11.04-e3cd948
Fail to launch if !Avx.IsSupported, it's a sane requirement of any CPU made after 2011.
Movie Maker: Snapping / dragging / resizing rewrite
Gizmo.Draw.Model can be animated
Optimization: Avoid ComponentList.GetAll usage in hot paths
Update VSCode editor integration
RenderAttributes pooling reduces GC pressure
🪛 Fixed
Crash: ModelDoc using the RemoveBoneAndChildren node
Crash: CreateMixer audio crash
Application.Version being stripped early
AssetList: fix context menu not showing "Open in Visual Studio" for code files
fix PlayerController.Step getting stuck on edges when under low ceiling (#3247)
Physics: Fix collider offset bug
Physics: Clamp physics material density to zero not FLT_MIN, zero density is allowed because it can be used to skip mass calculation
fix model collider scale
clamp convar value setter to min max
CreateObjectMenu NRE fix
Nav: Fix Pathing A* heuristic by removing cost normalization
Nav: Force Agent Position Validation after Agent.SetPosition
