I made last week's winter scene into a new main menu that'll stay for the duration of the holiday season.
Scene flythrough
We'll likely continue doing these with future holidays and special occasions. 
We've released our Christmas 2025 Outfit this month. Available till January 1st!
We've recently added the option of physics bones for cosmetics, this new outfit has been a great excuse to test it out.
Showcase of the outfit on the human character -
We're really getting into our stride with Holiday / Event cosmetics. As we move into next year, we'll be exploring more outfits that showcase new developments - physics bones, shaders and animated elements.
The mapping tool now has the edge cut tool. This allows you to quickly create edges on faces to do things like cut out doorways.
The create primitive tool can create block primitives and now they can create polygons by drawing points.
You should also be able to extend this to create your own types of primitive editors. You want to create stairs by clicking two points in the scene? You can code that.
A common tool used in map making is being able to resize your selection with a 6 handle box gizmo, you can now do that again.
One thing to speed up mapping is having the ability to quickly switch to commonly used materials, We have that now as well as having different material palettes that you can switch between.
The Fast Texturing Tool that most know-and-love from Hammer has been implemented within the scene's Mapping Tools. This makes it super quick and easy to UV something by leveraging the existing Rect Editor.
  • 3 Mapping Modes: Unwrap Square, Unwrap Planar, Use Existing
  • U/V Alignment and Horizontal/Vertical Flip settings
  • Inset X/Y Settings
  • Includes "Pick Edge" button which allows you to select an edge to orient the unwrapped UVs around
  • If the selected material is a hotspot material with defined rects, you can double click on a rect to automatically fit your UV rectangle to the one you double-clicked.
  • Tiled View
Made some various fixes/improvements to the Rect Editor while developing the Fast Texturing Tool. These changes affect both the Rect Editor and the Fast Texturing Tool
  • Added Panning/Zooming
  • Resizing rects will now snap the dragged edge(s) to the grid properly
  • Disabling the Grid will disable Grid Snapping
  • Rectangles can be resized in on themselves without causing crashes/NREs

This adds the following callbacks to NetList:
/// <summary>
/// Get notified when the list has changed.
/// </summary>
public Action<NetListChangeEvent<T>> OnChanged;
And the following to NetDictionary:
/// <summary>
/// Get notified when the dictionary is changed.
/// </summary>
public Action<NetDictionaryChangeEvent<TKey, TValue>> OnChanged;
Called for both the caller and the remote client that receives updates.
A really bad crash we've been suffering with this year is writing to buffered descriptor sets, this crash was quite frequent but hard to track down as it's hard to reproduce, manifested in different ways and rarely caught by our crash handler, the number of events / users affected below is a fraction of the ones occuring.
The crash would occur when a buffer was deleted whilst still referenced in the set, normally there is reference counting throughout the renderer, and there was for textures here but not buffers.

It turns out Valve were having similar crashes and had already solved it by adding reference counting to the buffers - we backported these and it's all resolved!
Facepunch is going on Christmas break for 2 weeks, this will be the last update until January.

year in review

This year s&box has really found it's identity; we started the Play Fund that has paid out $260,000 to creators, we sold our first community cosmetics, we open sourced the engine, we've inched further to standalone games — s&box is all about giving back to the community that made us, providing opportunities for the next generation.

In 2024 we took a big risk and pivoted everything to the scene system, this redefined what s&box was, taking us beyond a glorified Half Life Alyx mod into a modern day engine. It unlocked everything for us, but also made us have to start again, rethinking everything.

Last year was a lot of broad strokes, exploratory work trying to find what we can be. This year was the hard work, bringing it all together, prioritizing what needs to be done, and putting the puzzle pieces back together.

what's next

Our current plan is to release in early 2026, we're happy with our feature set, we have the Sandbox game to finish and refining our features to get to 1.0. Our biggest pain point right now is still performance and stability, the new user crash reports has been helping to solve these, as well as users submitting profiles of their games - we're on it.

Release for us just means generally avaliable on Steam, we're still gonna be developing and delivering new features month after month, the same way we do with Garry's Mod and Rust - s&box is a multidecade project for us.

Thanks for following s&box, see you next year!
25.12.17
25.12.17
17 December 2025
🎁 Added
  • Scene Mapping: Edge Cut
  • Scene Mapping: Fast Texture Tool
  • Scene Mapping: Polygon Tool
  • Scene Mapping: Resize Mode
  • Scene Mapping: Material Palettes
  • Scene Mapping: Merge meshes operation
  • UI: Allow scss variables to be used in `@keyframes`
  • Networking: Added callbacks to NetList and NetDictionary when entries are added/removed
  • Shaders: Added g_vSelfIllumOffset for scrolling self illumination texture
  • NavMesh: Collision Rules to NavMeshAgent Ground Trace
🧼 Improved
  • Shutdown scene early (#3576)
  • Brush settings control widgets (#3598)
  • popup/dropdown stylesheets
  • Add formatting to indicate state of sound preview toggle buttons @boxrocket6803
  • Reset Game.IsPaused when the scene is stopped. Tint pause button blue when the game is paused @Matt9440
  • Call SceneLoaded listeners for clients @andy013
  • Do not focus LastSelected when switching tools @aidencurtis
🪛 Fixed
  • Crash: When writing descriptor sets, some buffers could become freed whilst in use
  • Terrain: Create buffers early to avoid rendering unbound leading to a potential crash
  • Terrain: Brush preview follows cursor when held down
  • Map.CreateAsync not working properly because of a missing ServiceWorldRequests
  • Sandbox.Compiler.config not being initialized by default
  • Nametags showing above menu for humans on main menu
  • Editor: Orbit Camera
  • Editor: Preferences keybind modifier
  • DropDown control struggling with empty/null values
  • exceptions in ParticleModelEmitter when model is null
  • Make sure MovieResource.EditorData is set when saving
  • Prevent INetworkListener OnDisconnected being called on clients @andy013
  • package visibility overlay @Drakefruit
  • overload of Gizmo.Draw.Model @Nolankicks
  • DebugOverlay.Text being culled when looking away from the scene origin @andy013
  • GameObjects in GameObjectSystem NetLists being null on clients @andy013
  • UI not being resized to screenshot_highres dimensions, contributed by @trende
trophy 1515
Apr 2021 118 posts
Update 25.12.17 : news/update-25-12-17
trophy 145
Jun 2021 112 posts
merry xmas
trophy 1320
Jan 2024 38 posts
Absolute cinema.
I hope that you'll be successful at achieving stability with the new light baking and other improvements.
See you in the upcoming year!
trophy 160
Aug 2021 7 posts
Good update! Merry Christmas
trophy 0
Jul 2024 15 posts
Event callbacks as Action<T> seems weird to me. I've only had to do something similar when I needed an async callback that I wanted the class to wait for completion on. Events can't be async so I had to use a callback property.

I assume it's weird because you're doing remote calls. You might want to see if you can wire up .NET events directly, would be nicer looking and more intuitive to .NET developers. But I don't know what your system looks like, that might be more trouble than it's worth, or even undesirable.
trophy 1385
Sep 2021 120 posts
You've done a great job, so enjoy christmas break!
trophy 2020
Apr 2021 66 posts
Awesome as always, looking forward to next year and the official release!
trophy 1260
Feb 2024 36 posts
merry christmas facepunch!!!!!!!
trophy 500
Nov 2025 2 posts

Merry Christmas and a Happy New Year! Wishing the entire Facepunch team a wonderful and restful break. See you in January! 🎄

trophy 295
Aug 2021 14 posts
vive s&box
people
Log in to reply
You can't reply if you're not logged in. That would be crazy.