Time Utilities: TimeSince, TimeUntil, and Frame-Rate Independence
s&box provides time utilities for cooldowns, countdowns, and frame-rate independent movement without manual bookkeeping. Time.Delta Seconds since last frame. Mu…
s&box Easing Functions: Sandbox.Utility.Easing — Quadratic, Exponential, Bounce, Sine, and CSS-Style Name Lookup
s&box Easing Functions: Sandbox.Utility.Easing for Transitions and Animations provides standard easing functions used throughout s&box's UI system and available…
Collider Component: Triggers, Surface Properties, Keyframe Bodies, Concave Shapes, and Tag Propagation
Collider Component: Triggers, Surface Properties, and Keyframe Bodies The abstract base class is the foundation for all physics colliders in s&box (, , , , ). T…
IsValid Pattern: Safe Null and Destroyed Object Checks
Destroying a or doesn't erase the C# reference — the variable still holds a non-null but dead object. A plain check will pass on destroyed objects, leading to e…
GameObjectSystem — scene-wide systems with stage-ordered execution and static access
GameObjectSystem — Scene-Wide Systems is a base class for scene-level systems that need to run at specific points in the frame — before or after physics, render…
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…
MusicPlayer: Streaming Audio with Visualization and World-Space Positioning
in s&box handles music tracks and streaming audio with programmatic control over playback, positioning, and visualization. For sound effects, use the Sound syst…
IsValid: Safe Null and Destroyed Object Checking in s&box
In s&box, destroying a or doesn't erase the C# reference — the variable still holds a non-null but dead object. Use instead of null checks. Common Patterns Guar…
RPC Attributes: Rpc.Broadcast, Rpc.Host, Rpc.Owner — Targeting, NetFlags, and Rpc.FilterInclude/Exclude
RPC Attributes: Rpc.Broadcast, Rpc.Host, Rpc.Owner — Targeting and Flags s&box RPCs are declared with nested attributes on the static class. The old top-level a…
DamageInfo: The Standard Damage Payload — Properties, Usage, and Custom Types
DamageInfo: The Standard Damage Payload is a class (not a struct) used to pass damage information between game systems. It is intentionally a class so games can…
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…
s&box WorkshopSortMode: Workshop sorting modes
WorkshopSortMode Enum WorkshopSortMode is a friendly enum for Storage/Workshop queries in s&box. It wraps the underlying Storage.SortOrder enum with a simpler A…
s&box LocalProps: Built-in prop definitions
LocalProps Static Class LocalProps is a static class that defines hardcoded models that ship with the game and are not available on the workshop. These models a…
Steam filtering API for user content sanitization
Steam Filtering API in s&box s&box provides Steam filtering APIs to sanitize user-generated content like names and chat messages. This helps prevent profanity, …
s&box PackageSortMode: Package sorting modes
PackageSortMode Enum PackageSortMode is a typed enum for package sorting modes in the s&box package browser. It provides a type-safe way to specify how packages…
GameObjectSystem: Batch Processing and Execution Order Control
A GameObjectSystem lets you run logic at specific points during the frame for all components of a type, rather than relying on individual component Update metho…
Auth Tokens - s&box Services Documentation
Auth Tokens Auth tokens allow your game to authenticate players with external backends. The token proves the player's identity and can be validated against Face…
GameObjectSystem - s&box Scene Documentation
GameObjectSystem GameObjectSystems are global systems that operate on groups of GameObjects. Unlike Components which are attached to single GameObjects, systems…
IHotloadManaged: Preserving and Restoring State Across s&box Hotloads
IHotloadManaged: Preserving State Across s&box Hotloads When a class is hotloaded in s&box, all live instances are replaced with new instances of the updated ty…
GameObjectSystem with [Sync] and RPCs: Networked Scene-Level State
GameObjectSystem with [Sync]: Networked Scene-Level State supports properties just like components. However, there is a key difference: all properties on a are …