Update 26.04.08

A new update has been released, you can view the full changes on our blog post.https://sbox.game/news/update-26-04-08Here's some highlights from the blog.New Games Menu Sandbox: Open SourceThe Sandbox game itself is now open-source, people can contribute or take the code for their own games.Sandbox: EmittersSandbox: AchievementsChangelog???? AddedDoo, a simpler visual scripting system for wiring up component events — designed as a friendlier alternative to ActionGraph for common use casesMesh cable tool in the mesh editor for creating cables, working similarly to HammerNew games dashboard with a rotating carousel and redesigned game cards`lang.showkeys` cvar and editor toggle to display localisation keys instead of translated text for debuggingCSS `overflow: clip` and `overflow: clip-whole` properties for UI element clippingCSS `background-playback-state` property to pause video backgrounds`\[ShowIf]` and `\[HideIf]` attributes now support null checksCenter option added to the pivot list in mapping tools`IFormattable` whitelisted for use in the sandbox. Thank you @RumBugen!???? ImprovedTexture editor moved into the inspector - Thank you @boxrocket6803!Cascaded shadow map exclusion culling — shadows no longer render beyond each cascade boundary and objects from previous cascades are no longer re-rendered, significantly improving shadow performanceNetworking thread now processes messages at the same tick rate as the main threadParticle sprite GPU upload performance — buffer uploads moved into valid Graphics.Scope to avoid unnecessary render context creationNetwork packet byte arrays are now pooled in DecodeStream, reducing GC pressure for large compressed payloadsFixed a Steam buffer GCHandle leak where N-1 handles would leak per broadcast packet; replaced with a cheaper memcpy approach`Package.MountAsync` now supports mounting specific package revisions, allowing games to pin map versions`LoadingScreen.IsVisible` is no longer overridden every frame, allowing games to manually control loading screen visibility`Game.ChangeScene` now shows a loading screen for all clients instead of just the hostEngine overlays remain visible during loading statesScreenPanel `Scale` property now works when Auto Scale is enabled, and `Opacity` now correctly affects ScreenPanelsUndo support for WrapTextureToSelection and WrapTexture operations in the mapping toolsPause modal now uses the lighter HtmlPanel instead of a full WebPanelLauncher window geometry is saved when auto-closingPATH changes are now a no-op on non-Windows platforms. Thank you @MrSoup678!???? FixedDisabling shadows on a directional light now works correctlyShader compiler shutdown crashes resolved by properly draining the material system and preventing Steam callbacks after managed shutdownExceeding the maximum light count no longer triggers assertions or causes directional light flickering`GetPixels` arguments are now validated to prevent negative values, fixing a security vulnerabilityReferencing a deleted prefab no longer crashes — the editor shows a warning and preserves instance data for recoveryCreating a prefab from a GameObject now correctly restores the object's positionReverting changes on a nested prefab instance no longer wipes all outermost overridesApplying changes to a nested prefab no longer regenerates all GUIDsFixed cyclical library references caused by built-in projects referencing librariesFixed a null `AssetTypeAttribute.Name` NRE that silently shut down the GameInstance on editor startupGame loading is now properly cancelled on disconnect, preventing background loads from continuingFixed filesystem unmount exceptions when a load is cancelledProp gibs now properly inherit velocity when spawned in a batch group`IgnoreSingleObject` trace now correctly checks both rigidbody and collider GameObjectsGlass shader tint now blends correctly through multiple layers using premultiplied alpha blending. Thank you @Infiland!`backdrop-filter: blur` no longer generates excessive mipmap levels Thank you @Infiland!Toast notifications (e.g. achievements) no longer persist indefinitelyPost-game info popup is no longer dismissed on click, so its actions can be used. Thank you @RumBugen!Fixed human models having deformed hands with the "holditem" holdtypeFixed TextRenderer alignment not updating on re-enableFixed possible NRE in `Button.Text` setterFixed possible NRE in `UpdateMusic`

Apr 9, 2026 - 04:31
 0
Update 26.04.08

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

https://sbox.game/news/update-26-04-08

Here's some highlights from the blog.

New Games Menu

Sandbox: Open Source

The Sandbox game itself is now open-source, people can contribute or take the code for their own games.

Sandbox: Emitters

Sandbox: Achievements

Changelog

???? Added

  • Doo, a simpler visual scripting system for wiring up component events — designed as a friendlier alternative to ActionGraph for common use cases

  • Mesh cable tool in the mesh editor for creating cables, working similarly to Hammer

  • New games dashboard with a rotating carousel and redesigned game cards

  • `lang.showkeys` cvar and editor toggle to display localisation keys instead of translated text for debugging

  • CSS `overflow: clip` and `overflow: clip-whole` properties for UI element clipping

  • CSS `background-playback-state` property to pause video backgrounds

  • `\[ShowIf]` and `\[HideIf]` attributes now support null checks

  • Center option added to the pivot list in mapping tools

  • `IFormattable` whitelisted for use in the sandbox. Thank you @RumBugen!

???? Improved

  • Texture editor moved into the inspector - Thank you @boxrocket6803!

  • Cascaded shadow map exclusion culling — shadows no longer render beyond each cascade boundary and objects from previous cascades are no longer re-rendered, significantly improving shadow performance

  • Networking thread now processes messages at the same tick rate as the main thread

  • Particle sprite GPU upload performance — buffer uploads moved into valid Graphics.Scope to avoid unnecessary render context creation

  • Network packet byte arrays are now pooled in DecodeStream, reducing GC pressure for large compressed payloads

  • Fixed a Steam buffer GCHandle leak where N-1 handles would leak per broadcast packet; replaced with a cheaper memcpy approach

  • `Package.MountAsync` now supports mounting specific package revisions, allowing games to pin map versions

  • `LoadingScreen.IsVisible` is no longer overridden every frame, allowing games to manually control loading screen visibility

  • `Game.ChangeScene` now shows a loading screen for all clients instead of just the host

  • Engine overlays remain visible during loading states

  • ScreenPanel `Scale` property now works when Auto Scale is enabled, and `Opacity` now correctly affects ScreenPanels

  • Undo support for WrapTextureToSelection and WrapTexture operations in the mapping tools

  • Pause modal now uses the lighter HtmlPanel instead of a full WebPanel

  • Launcher window geometry is saved when auto-closing

  • PATH changes are now a no-op on non-Windows platforms. Thank you @MrSoup678!

???? Fixed

  • Disabling shadows on a directional light now works correctly

  • Shader compiler shutdown crashes resolved by properly draining the material system and preventing Steam callbacks after managed shutdown

  • Exceeding the maximum light count no longer triggers assertions or causes directional light flickering

  • `GetPixels` arguments are now validated to prevent negative values, fixing a security vulnerability

  • Referencing a deleted prefab no longer crashes — the editor shows a warning and preserves instance data for recovery

  • Creating a prefab from a GameObject now correctly restores the object's position

  • Reverting changes on a nested prefab instance no longer wipes all outermost overrides

  • Applying changes to a nested prefab no longer regenerates all GUIDs

  • Fixed cyclical library references caused by built-in projects referencing libraries

  • Fixed a null `AssetTypeAttribute.Name` NRE that silently shut down the GameInstance on editor startup

  • Game loading is now properly cancelled on disconnect, preventing background loads from continuing

  • Fixed filesystem unmount exceptions when a load is cancelled

  • Prop gibs now properly inherit velocity when spawned in a batch group

  • `IgnoreSingleObject` trace now correctly checks both rigidbody and collider GameObjects

  • Glass shader tint now blends correctly through multiple layers using premultiplied alpha blending. Thank you @Infiland!

  • `backdrop-filter: blur` no longer generates excessive mipmap levels Thank you @Infiland!

  • Toast notifications (e.g. achievements) no longer persist indefinitely

  • Post-game info popup is no longer dismissed on click, so its actions can be used. Thank you @RumBugen!

  • Fixed human models having deformed hands with the "holditem" holdtype

  • Fixed TextRenderer alignment not updating on re-enable

  • Fixed possible NRE in `Button.Text` setter

  • Fixed possible NRE in `UpdateMusic`

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow

XINKER - Business and Income Tips Explore XINKER, the ultimate platform for mastering business strategies, discovering passive income opportunities, and learning success principles. Join a community of thinkers dedicated to achieving financial freedom and entrepreneurial excellence.