Component Versioning: JsonUpgrader for Breaking Property Changes in s&box
s&box Component Versioning lets you define upgraders for breaking changes like property renames or data structure changes. Upgrades are chained — if a component…
Component Interfaces: ExecuteInEditor, ICollisionListener, IDamageable in s&box
s&box provides several Component interfaces for specific purposes: editor execution, collision handling, triggers, damage, and networking. ExecuteInEditor Compo…
Building a Networked Radio System with 3D Audio and Sync
Building a functional, interactive, and multiplayer-compatible radio system in s&box requires coordinating networked replication, local 3D audio handles, extern…
Physics Events - s&box Physics Documentation
Physics Events Receive callbacks for physics events in the scene. IScenePhysicsEvents Implement this interface on a component to receive scene-wide physics even…
FixedUpdate Internals: Step Counting, Spiral of Death Prevention, Time.Scope, and ApplyForce vs ApplyImpulse
FixedUpdate Internals: How the Fixed Timestep Works in s&box The s&box fixed update system uses a step-counting approach rather than accumulating time. This is …
Getting Started - s&box Documentation
Getting Started S&box is coded in C#. Under the hood, it uses the Source 2 engine (CS2, HL:Alyx, DOTA2) and some of its systems: rendering, resources, physics, …
Editor Shortcuts - s&box Editor Documentation
Editor Shortcuts Custom keyboard shortcuts make your editor tools more efficient. Shortcuts can be bound globally or to specific widgets. Creating a Static Shor…
Network Helper
Network Helper Pre-built component for common multiplayer scenarios. What It Does NetworkHelper handles typical multiplayer setup: Auto-creates server if enable…
ActionGraph - Visual Scripting System
ActionGraph - Visual Scripting System Create game logic using node-based visual scripting without writing code. Overview ActionGraph lets you: Build gameplay lo…
s&box CharacterController: Physics-Free Movement Component
s&box CharacterController: Physics-Free Movement Component provides collision-constrained movement without a . It only moves when you explicitly call or . Key P…
Decals in s&box
Decals in s&box Decals are textures projected onto surfaces for bullet holes, graffiti, scorch marks, etc. Decal Component Add to a GameObject: DecalDefinition …
Network Ownership System
Network Ownership System Control who simulates and updates networked GameObjects with the ownership system. Ownership Basics Every networked object has an Owner…
VR Development
VR Development Build virtual reality experiences with OpenXR support, tracked devices, and VR-specific components. Setup Enable VR in your project settings. s&b…
Reporting Errors - s&box Documentation
Reporting Errors How to report bugs and issues with s&box. Issue Tracker Report bugs on the s&box issue tracker: Search existing issues first Create a new issue…
s&box WeaponConVars: Global weapon settings
WeaponConVars Static Class WeaponConVars is a static class that defines console variables controlling global weapon behavior in s&box. These ConVars can be set …
NetworkHelper — quick multiplayer setup with auto-server and player spawning
NetworkHelper — Quick Multiplayer Setup is a built-in s&box component that handles the boilerplate of starting a server and spawning players. It's the fastest w…
Editor Tools
Editor Tools Create custom tools for the s&box editor. Creating a Tool Scene Access Gizmo Drawing Preventing Selection Overlay UI Editor Project Setup Tools mus…
Animation - s&box Documentation
Animation s&box supports skeletal animation for characters and objects. Animate models using imported animations, blend between states, and control playback fro…
Inspector Attributes: Group, Title, Icon, Range, InfoBox, Feature, and More
Inspector Attributes: Controlling How Properties Appear in the Editor s&box provides a rich set of attributes to control how component properties appear in the …
ISceneStartup: OnHostPreInitialize, OnHostInitialize, OnClientInitialize — Scene Initialization Hooks
ISceneStartup: Scene Initialization Hooks for GameObjectSystems provides callbacks for scene initialization events. It is intended for implementations, not comp…