The review system has been updated with tags. This will allow users to select specific elements of a game that they like, or don't like.
These tags are aggregated so you can see exactly what everyone thinks at a glance.
The intention is to use these reviews to punish and reward games in terms of discovery. We'll also be able to create new discovery categories, like most original, most polish and biggest ai slop.
You can now file reports in game. The reports system has a similar tag system, which allows us to categorize and group the reports on the backend. This should help us tweak discovery too.
Copyright/IP owners can now file DMCA reports on the website. If a package is taken down via a DMCA notice, the notice will be shown on the package page.
I've updated the performance metrics page to be even more transparent, not only showing medians but also first (P25) and third quartiles (P75) showing the worst and better experiences.

There's now a breakdown of the best and worst performing popular games on the platform.

As well as a breakdown of the best and worst performing popular hardware - as you can see we have a lot of work to do with the Steam Deck still.
There's a frame stage breakdown where as expected rendering takes up most the frame, but animation can also clearly be seen from animgraph 1. As well as performance by resolution graph - we can see people trying to run at really high resolutions on cards that can't handle it.
We've moved away from Cloudflare for both our API and CDN, replacing them with Azure Front Door and Bunny.net. There's advantages and disadvantages of course, but they've left a bad taste with obscure pricing that we'd rather not support over all.

This isn't really a drastic change for us, our tech stack is flexible enough that we can try out different places easily.
Most people shouldn't even notice a difference, downloads should be just as fast.

For Russians it should be great since Cloudflare is mostly blocked there, so now you should be able to play the game without a VPN.
We've optimized the loading process, especially when joining servers and lobbies.
Joining should be up to two times faster now.

Turns out, that for years, we were loading and compiling packages twice on connect, that's fixed now.
We also snuck in a few more optimizations, aimed primarily at unblocking the main thread to reduce stutter and hangs while loading.
Finally, the laoding screen text now contains more accurate information about the current loading step.
When we released we got a shit load of lobbies - querying 1000 of them on the main menu was causing big stutters for some people.
Whilst querying lobbies is async it wasn't always being done on the thread pool, and if it ran on the main thread it would stall the game for 2.5 seconds each time it queried lobbies every 10 seconds.

We've fixed this by both: optimizing the actual query removing heap allocations and locks, and enforcing the work to be done on the thread pool.
Server owners were seeing people evading bans by abusing Steam Family sharing. We've now exposed Connection.OwnerSteamId which is the SteamId of whoever owns the game.

This works the same as in Garry's Mod, you can reject people based on who owns the copy of the game:
public override bool AcceptConnection( Connection connection, ref string reason )
{
    // Check both the connecting SteamId and the owner SteamId (family sharing)
    // OwnerSteamId is the account that actually owns the game license.
    // If banned via family share, the owner's ID will differ from the player's.
 
    if ( IsBanned( connection.SteamId ) )
    {
        reason = "You are banned from this server.";
        return false;
    }
 
    // This check alone would be enough, but for the sake of the example
    if ( IsBanned( connection.OwnerSteamId ) )
    {
        reason = "The owner of your shared game license is banned from this server.";
        return false;
    }
 
    return true;
}
We're still working out the kinks with UI batching, one big regression was multiple blurs weren't sharing the same framebuffer grab. In scenes like the avatar menu there are 45+ panels on the screen at once all with blurs.

 This meant each of those panels was grabbing their own copy of the framebuffer unnecessarily.
What was also happening was anything with a backdrop filter was being marked as unbatchable, so these 50 panels you see here were coming out at a draw call each.
Now it's all 1 big batch and 1 big frame grab - much faster.
Processing network messages was causing a ton of allocations and GC pressure due to boxing of an internal message type. Boxing is a common .NET gotcha where stack end up on the heap.
We now avoid these allocations which should reduce server-side stutter.
This haunted message would appear, stall the game and have a good chance of crashing you.
"Attempt to drain windows message queue" is an old hack in Source 2 for working around a deadlock in DX11, something we haven't used for a long time.

We updated the code to what modern Source 2 is doing, making it more stable.

We also had a mechanism here that ran main thread jobs during rendering, we've completely removed this.
Custom scene objects would always render on the main thread, we didn't trust the user not to fuck it up. This made us need to pump the main thread during rendering which caused horrible things to happen. It was also slow.

We've completely removed that now, and adjusted all our internal scene objects that relied on main thread rendering to work on render threads.

For some scenarios this results in a small performance boost, and it let us rip out a bunch of complex synchronization code too.
Last week, we added a hot and sexy new server list. This week, we've brought that to the modal you use when browsing lobbies from a game page.

For matches hosted on a dedicated server, this'll now include ping, and, just like the big server list, results can be sorted by column.
We now have context menus for tools and sub tools, It will show you every operation available to you as well as the shortcut.
We now have Selection Sets, these let you store a group of objects allowing you to quickly select them or disable them if need.
We now have paste special, this let's you paste copied objects with controlled spacing, rotation, and repetition.
We've added a handful of new Project Templates and revised the existing ones.
Game - Empty - An empty project for you to jump in and start making a game
Game - Player Controller - Contains examples for First Person, Third Person, and Top-Down Players
Addon - An empty project for you to jump in and start making an addon for any target game
Map - A project with very basic Geometry made with the Scene Mapping tools, can target any game
Sandbox Game Addon - An addon project that targets the "Sandbox" game, and includes an example entity
We finally got doors and buttons for maps again, these more or less match what you'd find in Source. Except the Entity IO has been replaced with Doo, a simple linear visual scripting solution.
Steam trading cards are now avaliable along with emoticons, badges and profile backgrounds.
These won't drop if you got the game for free unless you've purchased cosmetics, that's just how Steam works.
You can also get these items in the Steam Points Shop.
The price in Poland was bullshit, it was set from Steam's pricing tool but didn't properly reflect the current economy. So last week we changed it from 91,99zl to 69,99zl.

I
f you got it whilst it was more expensive feel free to refund and rebuy.
Our first weekly patch after release! 🎉

While there has been a lot of negativity, both deserved and undeserved, it has been really great to see people enjoying everyone's game. I love seeing developers see their games get played. It's exactly what we have been missing during the developer preview, where people only really played their own games. Now we're seeing real world usage and we're reacting directly to it.

We always release as early as possible and iterate. We did it with Garry's Mod, we did it with Rust, and we're going to do it with s&box. We know what our challenges are right now. We know what sucks, and we're iterating to fix it all. 

Cya next week for another one 😘
26.05.06
26.05.06
6 May 2026
🎁 Added
  • Project templates including Player Controller, Sandbox Map, and Sandbox Game Addon
  • Mapping components: door & button with Doo support
  • Content reporting system
  • Reviews now let you select various positive and negative tags
  • Prop explosion damage now includes an "explosion" tag so games can react to it
  • `Connection.OwnerSteamId` shows the owner of a family sharing account
  • `Sound.Play(SoundEvent, Mixer)` overload for playing sounds with a specific mixer
  • Separate mesh components added to object selection mode (Alt+N)
  • Drag models, maps, sounds directly into the Hierarchy panel instead of just Scene View
  • Tools context menu showing per-tool keyboard shortcuts
  • `version` console command to display engine version info
  • Allow multiple `[Doo.ArgumentHint]` attributes on a single property
  • Physics simulation on proxy rigidbodies when transform sync is disabled
🧼 Improved
  • Loading screens now show meaningful progress with the main thread unblocked during load
  • Scene objects now render off the main thread by default, improving rendering parallelism
  • PreJIT moved off main thread, eliminating 4+ second stalls when joining servers
  • Clients no longer download redundant code archives when joining servers, cutting load time by ~33%
  • Lobby queries are significantly faster with async processing and reduced allocations
  • UI panels with backdrop blurs can now be batched, reducing draw calls
  • Matchmaking silently retries the next best lobby on connection failure
  • Particle system performance improved with object pooling
  • PolygonMesh.Rebuild optimized — menu scene mesh build time reduced from 1s to 300ms
  • Eliminated per-field boxing allocations in network message serialization
  • Reduced sound cache memory usage from 512MB to 256MB
  • Sprite batch rendering uses zero-copy approach for better performance
  • Deep-copy of embedded resources only performed in editor, not at runtime
  • "Waited 500 ms for jobs to complete" no longer gets stuck on main thread jobs
🪛 Fixed
  • Collision contact point calculation using best separation from manifolds
  • Potential crash with material overrides when copy source handle is invalid
  • Managed callbacks firing before BuildDependencyData completes
  • Vulkan swapchain destruction handling
  • Material load reentrancy crash in terrain tool
  • Animated textures (GIFs, animated Steam avatars) not playing through the lazy load path
  • `GameObject.GetBounds` incorrectly including origin when components have bounds
  • Box/lasso selection picking hidden objects in the editor
  • Unfinished mapping primitives lingering when entering Play mode
  • Death ragdolls spawning in T-pose on explosion
  • Vertex paint tool undo/redo sync, selection tracking, and vertex count display
  • Duplicating GameObjects sharing ResourceGenerators between original and copy
  • Lobby privacy settings not being applied immediately on creation
  • Other players appearing with no clothing due to inventory verification on clients
  • Unowned avatar items not being removed when first loading
  • Esc Key now closes modals, dropdowns, and cancels text entry
  • Footer friends list debounce
  • Missing Steam auth ticket validation
  • 3D text bounds not recalculating when text properties change - Thanks @Infiland
  • All-white material thumbnail lighting on blend and reflective materials - Thanks @frotstar
trophy 1570
Apr 2021 206 posts
Update 26.05.06 : news/update-26-05-06
trophy 2033
Sep 2021 229 posts
Thank you for the release, and for giving us the opportunity to develop games, test them on the platform, and then decide whether to publish them on Steam or not

🔥 On behalf of the entire Russian community, I’d also like to express our gratitude for the changes that will allow us to play without a VPN.
trophy 1437
Aug 2022 10 posts
Game is cool, but enity was cool too
trophy 785
Apr 2026 3 posts
Keep on keeping on

P.S. Based first patch ngl
trophy 5221
May 2023 66 posts
Doo Doo it!
trophy 245
Apr 2026 5 posts

LETS GO

trophy 318
Aug 2023 80 posts
mac support when 
trophy 480
Oct 2025 3 posts
lets goo 
trophy 2490
Jul 2022 82 posts
let's go.
trophy 12383
Feb 2024 2 posts
Great update, keep up the good work.
trophy 0
Jul 2024 1 post
Epic!
trophy 1405
Feb 2024 58 posts
Based week
trophy 145
Jul 2022 1 post
As a representative of the Polish people, I would like to thank you very much for polishing our prices. 
people
Log in to reply
You can't reply if you're not logged in. That would be crazy.