Coyote time - exposed the jump grace period as a configurable property, including zero to disable it13697d8 by @carsonkompon
3D skyboxes - added a scene-based 3D skybox component for games and mountsPR #6085 by @aylaylay
Indirect-light controls - adjust probe-volume intensity, tint, contrast, saturation and outward blending at runtime without rebakingPR #6088 by @garrynewman, @sampavlovic
Decal blending - added Multiply and Additive modes alongside Alpha on decal definitionse3b8609 by @aylaylay
Performance hub - open a dedicated performance window with F11 or perf_hub, with frame, CPU, GPU, memory, rendering, network, UI and audio viewscfe2159 by @handsomematt
GPU timeline - added an interactive, freezable overlay through overlay_gpu_timelinePR #6052 by @antopilo
Named runtime textures - register named procedural textures for resource lookupPR #6033 by @aylaylay
ViewSetup time - allow custom views to supply their shader timePR #6010 by @garrynewman
Pipeline inspection - added r_dump_pipeline_layers and -dump_pipeline_layers for dumping view layer order, settings, outputs and attributes90c8e3b by @handsomematt
Shader statistics - added ShaderStats.bat and SboxBuild shader-stats for offline AMD register, scratch and occupancy reportsPR #6028 by @handsomematt
Joint builders - expanded fixed, hinge, ball and slider motor/spring settings, explicit limits, friction and breaking thresholdsPR #6073 by @aylaylay
Physics body settings - retain damping and inertia scale in built model and standalone physics resourcesPR #6073 by @aylaylay
Procedural physics - create standalone physics resources through PhysicsGroupDescription.CreatePR #6014 by @aylaylay
Model game data - added ModelBuilder.WithData for typed prop metadata, explosions and break piecesPR #6068 by @aylaylay
Resource mounting - mount generic GameResources, including surface definitionsPR #6054 by @aylaylay
Texture shortcuts - added bindable face-texture alignment, rotation, scaling, shifting, fit, justification and hotspot commands808de1e by @aylaylay
CLI project creation - create new projects from the command line using the shared project templates3fdc10d by @handsomematt
CLI project targeting - infer the target from the project directory and support one-shot tool calls through --call2fb7e29 by @handsomematt
Startup profiling - added -startup-profile timing reports in JSON and MarkdownPR #6048 by @xezno
sbox-cli - discover, connect to or launch individual editor/game instances over local MCP connections, with trusted C# execution and project AI settingsPR #6020 by @garrynewman
Hammer automation - added 40 MCP tools for map inspection/editing, geometry, materials, asset usage, builds, saving, cameras and screenshotsc050e68 by @handsomematt
Performance MCP - expose performance-hub data through perf_ tools, including frame history, CPU/GPU costs, allocations, rendering, network and UI statisticsbb070b3 by @handsomematt
Agent instructions - ship the sbox-cli skill with --skill and --skill-install, and offer installation when Claude Code or Codex is detected41deb627118fb6 by @handsomematt
Translations - localize fixed menu text across all 29 supported non-English languages, including settings, browsing, parties, avatars, rewards and jamsPR #5991 by @garrynewman
Lobby browsing - embed the lobby list in the game page instead of opening another modalPR #5992 by @devultj
Party chat - only show it during gameplay while the menu is open or when the game uses platform chatba34810 by @devultj
C# rendering pipeline - move standard/3D-skybox layer setup, render hooks, UI blending, stretch/FSR1 upscaling, presentation and shared target/view setup into C#fa4a3633bf087df978f90 by @handsomematt
Shadow quality defaults - retune cascade counts and resolutions: High uses three 2048-pixel sun cascades and a 1024-pixel local-light maximume46a8b3 by @handsomematt
Probe settings - improve sampling-bias defaults, organize indirect-light settings and make relocation the default for probes inside geometryPR #6088 by @garrynewman, @sampavlovic
Ambient occlusion - reworked depth-chain generation, denoising and upsampling; retuned quality presets and stopped High quality running unnecessarily at full resolutionPR #6077 by @sampavlovic
Gaussian mip blur - reduce texture samples from four to one per output pixelPR #6037 by @sampavlovic
Bloom - remove redundant gaussian mip blurring before bloom's own blur chainPR #6038 by @sampavlovic
Shader lifetimes - reduce scratch usage and shorten temporary-value lifetimes in fog, skin, eyes, foliage and shared material lightingPR #6067 by @antopilo
VRAM fallback - use suitable system-memory types when device-local memory is full366a427 by @lolleko
Human models - refreshed third-person animations and the animgraph, added eye-colour selection, updated clothing icons and made humans the default in menus and avatar editingPR #6044 by @alexpunch, @garrynewman, @danduwfp
Startup waits - continue loading during login and inventory initialization, reuse eligible editor assemblies, and replace fixed compile delays with readiness checksPR #6048 by @xezno
Startup splash - show a software-rendered splash before Vulkan initializes, then hand the same window to the rendererPR #6075 by @xezno
Launcher - refined visual hierarchy and project startup feedback10007afd463908 by @xezno
Texture compression - rate-distortion optimize texture blocks and compress mips with zstd, with gentler settings for normal maps and decoding on the job pool4146e93afd7130 by @lolleko
Cloud texture streaming - join using lower-resolution textures and download higher detail during gameplay; opt out with r_texture_web_streaming 04365202 by @lolleko
Sound bitrate - default Opus output to 192 kbps stereo and 96 kbps mono; the bitrate setting specifies the stereo rate22fc028 by @lolleko
Cloud asset reinstalls - avoid re-registering unchanged cloud files when reinstalling a packagePR #6123 by @polepie
Sound compression - enable compression by default, retain source sample rates and preserve compatible encoded sources; use Opus when smaller for processed/uncompressed audio715fbcf by @lolleko
Map visibility - compress visibility payloads to reduce compiled map sizeb9ee237 by @lolleko
Mesh optimization - updated meshoptimizer to version 1.3c1e09a6 by @lolleko
Input - remove per-frame allocations in action lookups, key-set updates, input scopes and context traversalPR #6007 by @polepie
Undo memory - capture only changed properties for property edits instead of copying whole prefab instances351b314 by @polepie
Context scopes - avoid boxing/allocations when entering scenes, menu/global contexts and time scopes; reuse fixed-update and frame-pump delegatesbdad5daf5e66073cf99bdbbb1982c2a46ba by @handsomematt
UI and connection input - reuse traversal/sorting storage and clear connection input without temporary connection lists307ad551aa4db16c4eba1 by @handsomematt
Camera work - cache UI callbacks, copy tags as tokens, skip unchanged sets and sort cameras/modifiers without LINQ3200fece44c78544d6548 by @handsomematt
Scene queries - query components directly in per-frame systems and render environment maps without enumerating Scene.All44406f8b13d9dd by @handsomematt
Render storage - reuse post-processing collection/blending storage, render-target names and the pipeline attributes wrapper9a2220304fe77f90f9ef5 by @handsomematt
Shadow setup - reuse mapper snapshots and write attributes without temporary managed wrapperse791c2157b4170 by @handsomematt
Animation setup - cache IK/look parameter names and avoid closures when reading deformation anchors7686edcff0ad70 by @handsomematt
Voice processing - run lipsync analysis only when a renderer or a viseme/laughter consumer needs it71434c7 by @lolleko
Mesh builds - avoid duplicate mesh generation and unnecessary collision cookingPR #5982 by @aylaylay
GPU crash reports - include Aftermath's blamed shader, near-budget VRAM and bindless ring-lap information02e589ead2435f by @lolleko
GPU telemetry - added timeline/pass telemetryPR #6065 by @antopilo
Discovery telemetry - include search queries in discovery eventsf586047 by @lolleko
Physics diagnostics - log the first Box3D assertions on customer machinesea5ce94 by @lolleko
Slopes - follow static-ground slopes and brake along the ground plane, fixing downhill drift and wall jitter; migrate existing BrakePower valuesPR #6082 by @carsonkompon
Stepping - correctly step up from sloped floorsPR #6083 by @carsonkompon
Store inventory - refresh inventory correctly after the first store purchasea7c4487 by @deadmonstor
Vorbis playback - fix sample-rate overflow, stuck voices, and raw/chained stream decoding regressionsf8ce4f1e4fd219 by @ryleigh, @lolleko
Audio processors - tear down removed processors on the mix thread7f91c2e by @lolleko
Speech synthesis - prevent viseme handlers retaining speech synthesizersc49fcb6 by @lolleko
Audio restarts - retain resample streams across SDL restartsfac2a63 by @lolleko
Video audio - wait for in-flight mixing before releasing the audio callbackf716c65 by @lolleko
Wave cache - synchronize cache access and fall back to mapped files when the arena cannot commit memorycd301eb by @lolleko
Mixer tags - initialize default mixer simulation tags093a2d2 by @aylaylay
Block snapping - fix snapping on vertical faces and update the spawnpoint preview modelPR #6046 by @bakscratch
Continuous block creation - keep repeated block creation working without changing finish behavior56ba515 by @aylaylay
MCP messages - accept a byte-order mark at the start of a message57973c6 by @handsomematt
Mouse focus - prevent the editor game view capturing the mouse when the editor window is unfocusedPR #6009 by @garrynewman
Console retention - use weak references for logged arguments so console history does not keep closed scenes alive4d551446c8953c by @polepie
Scene dock close - destroy the scene view before stopping its session8ecc66b by @lolleko
ModelDoc close - delete view-control popup actions with their owning session321dc75 by @lolleko
Image hotload - refresh images when their source changesf09a99d by @deadmonstor
Material hotload - refresh material attributes after resource reloadPR #6086 by @aylaylay
Mesh picking - select meshes without requiring collision geometryca74a6a by @aylaylay
Edge-loop selection - match Hammer's additive/modifier behavior and select complete loops on plain double-clickPR #6091 by @aylaylay
Clipping tool - align with surface normals and Hammer-style grid snappinge999e2d by @aylaylay
Boolean texturing - correct hotspot mapping on cut faces579843a by @aylaylay
Mesh bridges - correct Hammer bridge normals and avoid creating undo entries when a bridge failsec57b1c6c78e55 by @aylaylay
Private lobbies - enforce invited/admitted-player access and friends-only checks, preserving the access list during host migrationPR #6076 by @handsomematt
Lobby privacy - respect the more private setting requested by the menu or game44b0687 by @devultj
Ultrawide menu - restore the 16:9 layout cap and fix sort-button shapesPR #5992 by @devultj
Inventory prices - serialize Steam inventory price polling9f0a866 by @lolleko
Object highlight - write highlight output to alpha correctlyPR #6095 by @wheatleymf
Contact shadows - fix seams when the sun is perpendicular to the view00033d6 by @polepie
Panel-app rendering - initialize contact-shadow shaders before rendering starts to prevent first-use deadlockse70eb9b by @handsomematt
View lifetime - prevent 3D skybox pipelines returning to the pool before rendering finishes and fix an uninitialized auto-exposure settingfa4a363 by @handsomematt
Procedural layers - report actual colour formats and sample counts instead of assuming RGBA16F3bf087d by @handsomematt
Probe capture - use 90-degree cubemap faces and correct silhouette depth sampling and octahedral corner seamsPR #6088 by @garrynewman, @sampavlovic
Probe bake safety - prevent overlapping bakes, preserve saved lighting during previews/cancellation and apply new textures only after every save succeedsPR #6088 by @garrynewman, @sampavlovic
Probe sampling - correct compressed visibility decoding, transformed volumes, back-facing probes, small-weight dark patches, boundary bias and excess indirect-light gainPR #6088 by @garrynewman, @sampavlovic
Probe relocation - respect excluded geometry, detect thicker geometry, handle transformed volumes and disable probes that cannot escape geometryPR #6088 by @garrynewman, @sampavlovic
Indirect-light bounces - make bounce passes deterministic and stop fog sampling outside probe volumesPR #6088 by @garrynewman, @sampavlovic
Surface normals - correct tangent-space directional-lightmap reconstruction and normal transforms under nonuniform scalePR #6088 by @garrynewman, @sampavlovic
Environment lighting - restore the second skin specular lobe, keep cloth roughness consistent across probes and use consistent cubemap luminance normalizationPR #6088 by @garrynewman, @sampavlovic
Depth-of-field highlights - preserve bright HDR values through the blur passesPR #6088 by @garrynewman, @sampavlovic
Ray-tracing resources - expose descriptors to compute, correct TLAS lifetime, reject incomplete scenes and refresh geometry after mesh overridesPR #6088 by @garrynewman, @sampavlovic
Compute dependencies - track texture reads on the graphics queue before later writesPR #6088 by @garrynewman, @sampavlovic
Shader time - prevent shader animation time pausing with the menuPR #6010 by @garrynewman
Sprite playback - allow AnimationState to advance multiple frames per render frame, preventing slowdown at low frame rates and fixing an infinite loopPR #5990 by @carsonkompon
Animation booleans - preserve true values when denormal flushing is enabledPR #6000 by @ryleigh
Texture mipmaps - fix array mip uploads and rectangular mip readbackPR #6012 by @aylaylay
Blur alignment - stop blurred mip levels drifting down and rightPR #6037 by @sampavlovic
Material overrides - skip unloaded overrides when updating scene-object flags31d59f0 by @lolleko
World aggregates - delete aggregate scene objects with their world nodefbe789a by @lolleko
Bindless descriptors - keep the registered set on its active ring copyc0f8aa7 by @lolleko
Descriptor pools - do not recycle pools still held by a render context61dbd5b by @lolleko
Networked velocity - replicate rigidbody velocity changes made by the owner to proxies2e21c80 by @ryleigh
Hull construction - accept valid hulls with 256 half-edges132f13e by @aylaylay
Rotated colliders - apply box-collider Center offsets correctly relative to a rotated RigidbodyPR #6056 by @ryleigh
Destroyed physics objects - skip stale body/joint destruction and events for objects removed earlier in the step; avoid tracing deleted worldsa8312e1c7c5903ffa3b61 by @lolleko
Joint behavior - preserve explicit zero-range limits, return hinge angles in degrees, and apply slider motors/friction in 2DPR #6073 by @aylaylay
Asset cache - remove deleted assets from pending work and only flush a clean asset list9ecc9987ac1d69 by @lolleko
Asset metadata - synchronize edit-info symbol tables08e7356 by @lolleko
Filesystem cleanup - suppress finalizers that would only throw1c3a6df by @lolleko
Allocator errors - handle retail mimalloc failures before an error dialog can re-enter the heapff62168 by @lolleko
Main-thread dispatch - fixed a reported execution-context security issuePR #6087 by @garrynewman
Shader builds - do not skip shader sources merely because the checkout is under a dot-prefixed parent directoryPR #6028 by @handsomematt
Performance overlays - replace the standalone performance overlay commands, including overlay_gpu_timeline, with the F11 performance hubcfe2159 by @handsomematt
Project agent files - stop automatically writing AGENTS.md and agent guides into projects; use the engine-shipped skill instead7a56e2441deb62 by @handsomematt
HTTP MCP - replaced the editor's fixed-port HTTP MCP server and settings page with sbox-cli and per-instance stdio connectionsPR #6020 by @garrynewman
Citizen avatar selection - removed Citizen from menu/avatar selection and removed human-incompatible clothing; existing games can still use the modelPR #6044 by @alexpunch, @garrynewman, @danduwfp
RIP TERRY.
The playfund and animation/human changes seem good though.
I would love to see improvements to IDGI and the Mapping tool soon, but these changes all seem really beneficial.
I also think clear play fund guidelines are important.
going to be removed, but when I heard terry will still remain in our hearts (the game files) (see below)
I was really happy, so he's still there and I might use him for a few games here in there. Also, I'm glad that people who has spent $20 on this game will receive rewards! That's a good move by facepunch.
I hope hammer is fully gone by the end of this year, I can't decide on whether to use scene mapping or hammer...
No play fund guidelines, you guys are skaters there?
I get that you need to serve the players too, but it feels like 180 from developers. Your opinionated greenlight system tells nothing.
S&box is simply not positioned to be a successor to Garry's Mod without a hot-handoff occurring, which has been further hampered by the non-associated game name and (fixed) questionable artistic styles (Maintain the Half-Life aesthetic!).