1. s&box
  2. News

s&box News

Update 25.11.12

[p]A new update has been released, you can view the full changes on our blog post.[/p][p]https://sbox.game/news/update-25-11-12[/p][p][/p][p]๐ŸŽ Added[/p]
  • [p]Scene.AllActive[/p]
  • [p]Game.Overlay.Close and Game.OverlayCloseAll[/p]
[p]๐Ÿงผ Improved[/p]
  • [p]Optimization: ByteStream optimized much faster[/p]
  • [p]Optimization: Switch DeltaSnapshotSystem to use ByteStream[/p]
  • [p]Optimization: Reduced interpolation allocations[/p]
  • [p]Optimization: Convert CommandList from Action += to struct list (#3325)[/p]
  • [p]Box3D updated[/p]
  • [p]Input router now uses floats for mouse deltas[/p]
  • [p]Editor: Inline widget can copy, paste, reset[/p]
  • [p]PlayerController: only scale anim-driven footstep volume by WishVel[/p]
  • [p]Don't fire OnEnabled on child components if the GameObject is being destroyed[/p]
[p]๐Ÿช› Fixed[/p]
  • [p]Fixed time in Update being 1 frame old[/p]
  • [p]Clean up FixedUpdate lerping, fix weirdness[/p]
  • [p]Security: Fix unrestricted TypeLibrary property setting[/p]
  • [p]Security: Sealed Bitmap[/p]
  • [p]Security: TypeLibrary.MakeGenericType obeys constraints at runtime[/p]
  • [p]Buffer Overrun in SpriteSystem[/p]
  • [p]Movie Maker: Fix not being able to scrub by dragging on scrub bar[/p]
  • [p]CreateGameModal not passing thru selected privacy[/p]
  • [p]EnterChair Not Being Exposed[/p]
  • [p]Don't flush in SwapChain destructor during shutdown[/p]
  • [p]Fix wrong logic in OOBChecks.ThrowIfBoneOutOfBounds[/p]
  • [p]Fix divide by zero in MathX.LerpInverse[/p]
  • [p]Fix SelectionSystem.OnItemRemoved being called with the wrong object[/p]
  • [p]Fix Plane.Equals always returning true[/p]
  • [p]Fix BBox.Contains when the box is the same size[/p]
  • [p]Fix PanelTransform equals operators[/p]
  • [p]Fix string.TrimQuoted could throw on empty strings[/p]
  • [p]Fix logic in Spline's CheckPointIndex[/p]
  • [p]Fix divide by zero in Spline[/p]
  • [p]In Rotation.Pitch - add clamp to prevent NaN[/p]
  • [p]Fix incorrect calculation in Vector3.TcbSpline[/p]
  • [p]Fix possible divide by zero in MathX.Remap[/p]
  • [p]BaseFileSystem.Mount will ignore double mount[/p]
  • [p]Fix launcher being in the wrong directory[/p]
  • [p]Fix Collection was modified in ExecuteEnabledInSelfAndDescendants[/p]
  • [p]Avoid throwing OperationCanceledException when querying servers[/p]
  • [p]Protect against NREs in Mixer.ApplyProcessors[/p]
  • [p]Fix asserts in ClothingContainer.ApplyAsync - just return if body becomes invalid[/p]
  • [p]Fix NRE in NetworkSystem.OnSceneLoaded[/p]
  • [p]Fix NRE in GameInstanceDll.CreateGameNetworking[/p]
  • [p]Fix NRE in MoveModeLadder.ScanForLadders[/p]
  • [p]Fix NRE in MoveModeSwim.UpdateWaterLevel[/p]
  • [p]Tweak MenuUI\\FrontPage.razor to fail less spectacularly[/p]

Community Cosmetic - Skull Helmet!

[p][/p][p][/p][p]Want a skeleton head? Or at least half of one? Grab yourself the Community-made cosmetic, Skull Helmet! Available for a limited time.[/p][p][/p][p]Sale ends December 1st 2025, after which it'll only be available on the Community Marketplace.[/p]

Update 25.11.05

[p]A new update has been released, you can view the full changes on our blog post.[/p][p]https://sbox.game/news/update-25-11-05[/p][p][/p][h3]Shitting[/h3][p]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 [c]SitMoveMode[/c] component to your player controller. Then add a [c]Chair[/c] component to something, configure it, and you're done.[/p][p][/p][p]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.[/p][p]
Editor Config[/p][p][c]BaseChair[/c] 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).[/p][p]Future[/p][p]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.[/p][p][/p][h3]Terrain Displacement[/h3][p]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.[/p][p][/p][p]Instead of this being parallax it's moving actual vertices, which means you will also see shadows interact nicely.[/p][p][/p][h3]Cosmetics[/h3][p]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.[/p][p][/p][p]Our Money[/p][p]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.
[/p][p]FOMO[/p][p]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.
[/p][p]Market Prices[/p][p]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.[/p][p][/p][h2]Changelog[/h2][p][/p][p]๐ŸŽ Added[/p]
  • [p]More packages to the GameCache[/p]
  • [p]Editor can use menu overlays in games[/p]
  • [p]Add references to editor libraries from editor compiler/csproj[/p]
  • [p]Movie Maker: Image Sequence Export[/p]
  • [p]Physics: Rigidbody.GravityScale[/p]
  • [p]SpriteRenderer `OverlayColor` property[/p]
  • [p]Added TextBlock.SelectionColor[/p]
  • [p]MoveMode.CalculateEyeTransform()[/p]
  • [p]MoveMode.UpdateCamera( CameraComponent cam )[/p]
  • [p]PlayerController .IEvents.PreInput[/p]
  • [p]Collider.ColliderFlags[/p]
  • [p]SitMoveMode - a MoveMode for PlayerController that enables sitting[/p]
  • [p]ISitTarget - used by SitMoveMode to allow sitting on a component[/p]
  • [p]BaseChair component[/p]
  • [p]Terrain displacement[/p]
  • [p]Sandbox Entity Template[/p]
[p]๐Ÿงผ Improved[/p]
  • [p]Dev staging builds are now versioned date-commit e.g 25.11.04-e3cd948[/p]
  • [p]Fail to launch if !Avx.IsSupported, it's a sane requirement of any CPU made after 2011.[/p]
  • [p]Movie Maker: Snapping / dragging / resizing rewrite[/p]
  • [p]Gizmo.Draw.Model can be animated[/p]
  • [p]Optimization: Avoid ComponentList.GetAll usage in hot paths[/p]
  • [p]Update VSCode editor integration[/p]
  • [p]RenderAttributes pooling reduces GC pressure[/p]
[p]๐Ÿช› Fixed[/p]
  • [p]Crash: ModelDoc using the RemoveBoneAndChildren node[/p]
  • [p]Crash: CreateMixer audio crash[/p]
  • [p]Application.Version being stripped early[/p]
  • [p]AssetList: fix context menu not showing "Open in Visual Studio" for code files[/p]
  • [p]fix PlayerController.Step getting stuck on edges when under low ceiling (#3247)[/p]
  • [p]Physics: Fix collider offset bug[/p]
  • [p]Physics: Clamp physics material density to zero not FLT_MIN, zero density is allowed because it can be used to skip mass calculation[/p]
  • [p]fix model collider scale[/p]
  • [p]clamp convar value setter to min max[/p]
  • [p]CreateObjectMenu NRE fix[/p]
  • [p]Mesh Editor: Undo Fixes[/p]
  • [p]Nav: Fix Pathing A* heuristic by removing cost normalization[/p]
  • [p]Nav: Force Agent Position Validation after Agent.SetPosition[/p]

Community Cosmetic Propane Helmet - Last Chance!

[p][/p][p]Last chance to grab yourself the Community-made cosmetic, Propane Helmet! Available for a limited time.[/p][p][/p][p]Sale ends November 1st 2025, after which it'll only be available on the Community Marketplace.[/p]

Halloween Outfit - Now Available For A Limited Time

[p][/p][p]Halloween is here, trick or treat in style with our Pumpkin Head, Halloween Jeans and Halloween Hoodie. Candy not included.[/p][p][/p][p][/p][p][/p][p]These items are only available in the store until 7th November 2025, after which it'll only be available on the Community Marketplace.[/p]