Developer postOriginal post (opens in a new tab)

Update 26.01.28

A new update has been released, you can view the full changes on our blog post.

https://sbox.game/news/update-26-01-28

Indirect Light Volumes

We've released our first iteration of indirect light volumes, these offer a form of baked global illumination giving games and maps much more depth. We want to see if we can offer a good replacement for Hammer baking, in a way that is more iterative and less intense - for example this only takes a few seconds to bake, compared to the half a day Hammer takes to bake.

( My Summer Cottage by Small Fish )

Foliage Update

Trees and foliage have received a well deserved makeover.

Changelog

🎁 Added

  • Indirect Baked Lighting - DDGI

  • Project settings window, accessible from project bar in the top right of the editor window

  • GameObjectSystems can have confgiurable properties, accessible in the project settings window

  • Networked local instances now have a unique SteamID for testing persistence

  • Networked objects can now be "detached" meaning they're no longer networked

  • Snap To Frame option for particle sheet sequences

  • Popup.PositionModel.Right

🧼 Improved

  • Binaries (exes, dlls) are now code signed by Facepunch - makes Windows trust them more

  • Foliage shader has been improved in many ways, adding new options, fixing dithering, and more

  • Mapping tool hotspot matches Hammer's hotspot

  • Mapping selection enhancements

  • Mapping face selections

  • Active material is remembered with a cookie when you restart the editor

  • Profiler post processing removes dead threads

  • Console output gets forwarded to attached debuggers

  • Unspawned networked objects do nothing when Network.Refresh() is called

  • Lots of micro optimizations for networking CPU performance

  • Dedicated servers use Steam Networking's SendMessages API

  • Codegen lambdas are cached

  • Optimize Json.Diff.ReorderAddedObjects

  • Vector3 micro optimizations

  • Reduce smoothdamp usage in audio components

  • GroupButtonControlWidget Enabled/ReadOnly handling

  • Movie Maker Maintenance

  • BlobDataSerializer is now stack based

  • Enabled VK_EXT_robustness2, adding extra safety and allowing null

  • When creating a new asset, it is named before being created instead of renamed

  • GenericControlWidget will pick the parameterless ToString method @766974616c79

🪛 Fixed

  • Potential crash with PoseContext::TryTakePose and PoseContext::GetPose

  • Potential crash with AsyncResourceLoader accessing the resource system during shutdown

  • Crash on shutdown when the main loop throws an exception

  • Crash when rendering envmaps during an active render pass

  • Crash when closing dock tabs by the context menu

  • Crash with Qt widgets getting deleted too soon in event callbacks

  • Crash with exclusive fullscreen in editor mode (disabled it)

  • Error with ReferenceMaterial not being found when loading the fast texture tool

  • Error when using dump_scene command

  • Trying to ConVarSystem.AddAssembly the same game assembly twice

  • Video generation for batch upload by making sure ScreenSize is set

  • ScreenRecorder not respecting framerate cvar

  • Rubber surface being way too bouncy

  • Certain tools eating shortcuts because the ViewportToolbar was taking focus

  • Fast texture tool UV's not being frames to the preview

  • Fast texture tool world scale having confusing extra options

  • Missing large network files on local networked instances

  • GameObjectSystems not existing on clients (older version) erroring when connecting to servers

  • ConsoleWidget trying to parse arg: anchor as uri

  • Cloud assets not persisting between sessions @trende2001

🚯 Removed

  • SceneTrace.UseRenderMeshes are now editor only

  • GPU crash diagnostics which had some performance overhead