Styling Panels: SCSS, Inline Styles, and Code-Based Styling
s&box panels can be styled using SCSS stylesheets, inline styles, style blocks, or direct code manipulation. The styling system uses CSS-like syntax but is rend…
IScenePhysicsEvents: Pre and Post Physics Step Hooks
lets Components or GameObjectSystems wrap logic around the physics step. Implement it when you have systems that work closely with physics and need to run code …
Auth Tokens: Steam Identity Validation for External Services
Auth Tokens validate that HTTP or WebSocket requests originate from a legitimate Steam user in an active s&box game session. Use them to tie data to Steam accou…
Console Variables and Commands: ConVar and ConCmd with Flags
Console variables () and commands () let you create tweakable settings and runnable commands accessible from the s&box console. Console Commands Static methods …
Property Attributes: Inspector Customization for Components and Assets
Property attributes control how Component properties appear in the s&box editor/inspector. They work on both Components and GameResource properties. Layout and …
WebSocket Connections with Auth Token Authentication in s&box
s&box supports WebSocket connections to external servers for custom networking or persistent data outside the local filesystem. Basic Connection and Messaging U…
Custom GameResource Assets: Define, Create, and Access Custom Asset Types
Define custom asset types as subclasses. They get a nice inspector window, are hotloaded in-game, and are stored as JSON files with a custom extension. Creating…
NavMesh Agent: AI Pathfinding with Crowd Avoidance
The component moves a GameObject along the NavMesh automatically with built-in crowd avoidance. Agents try to avoid bumping into each other when multiple agents…
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…
Scenes: Loading, Component Lookup, and GameObject Directory
A Scene is a collection of GameObjects that represents the game world. Every Component and GameObject has a property for accessing the current scene, and you ca…
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…
SceneTraceResult: All Fields and Properties from Trace Hits
is returned by and contains all information about a trace hit. Key Fields Common Usage Pattern
Network Events: INetworkListener and INetworkSpawn Interfaces
React to players joining and leaving by implementing or on a component in the scene. INetworkListener Example Spawn a player object when someone joins: INetwork…
Playing Sounds: SoundHandle, GameObject.PlaySound, and Audio Components
s&box provides several ways to play sounds: fire-and-forget at a position, controlled via , attached to a , or via scene components. SoundEvent Assets Sounds ar…
HudPainter: Immediate-Mode HUD Drawing in s&box
Each has a property (HudPainter) for immediate-mode drawing onto the screen. More efficient than UI panels since there's no layout, stylesheets, or interactivit…
PlayerController: Physics-Based Character with Events Interface
The component is a physics-based first/third person player controller. Add it to a scene and be running around with no programming required. Core Features Physi…
Stats Service: Recording and Reading Player Statistics in s&box
Games can record per-player stats using . Stats can be queried individually, per-player, or globally. Recording Stats Increment a counter: Set a value directly:…
Network Visibility: Culling and INetworkVisible Interface
Network Visibility controls whether a networked object sends updates (Sync Vars, Transform) to a specific player. By default, all networked objects always trans…
Component Interfaces: IDamageable, ICollisionListener, ExecuteInEditor
s&box provides several built-in component interfaces for physics, damage, networking, and editor execution. ExecuteInEditor Runs component methods (OnAwake, OnE…
Physics Triggers: Enter, Exit Events and Polling in s&box
A trigger is a collider that detects when physics objects enter or exit it without blocking movement. Useful for pickup zones, death planes, checkpoints, and ar…