Inspector property attributes — Range, Group, ShowIf, Title, Feature, and more
Inspector Property Attributes Attributes control how component properties appear in the s&box editor inspector. Apply them alongside on your component fields to…
Engine Frame Loop Order: FrameStart, Scene Tick, and FrameEnd Sequence
Engine Frame Loop Order The s&box engine frame loop runs in a specific order each frame. Understanding this is important for knowing when your code runs relativ…
ConVar and ConCmd: Console Variables and Commands in s&box
ConVar and ConCmd: Console Variables and Commands s&box uses and attributes on static properties and methods to expose them to the console system. ConVar (Conso…
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…
Your First Project - s&box Documentation
Your First Project Creating Game Objects In s&box, everything in your scene is a GameObject. GameObjects can have Components attached to them that provide funct…
GameObjectFlags: DontDestroyOnLoad, NotNetworked, Absolute, and Destroy vs DestroyImmediate
GameObjectFlags: Controlling GameObject Behavior is a flags enum that controls special behaviors for GameObjects. Values Usage ```csharp // Survive scene loads …
s&box ServerSettings: Server-controlled settings
ServerSettings Static Class ServerSettings is a static class that defines server-controlled settings replicated to all clients. These ConVars control game-wide …
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 …
Component Lifecycle: Full Callback Order — OnAwake, OnEnabled, OnStart, OnUpdate, OnFixedUpdate, OnDisabled, OnDestroy
Component Lifecycle: Full Callback Order s&box components have a well-defined lifecycle. Understanding the exact order prevents subtle bugs. Callback Order Key …
Scene Tick Order: Full Frame Pipeline — FixedUpdate, Update, PreRender, ProcessDeletes, and Stage Hooks
Scene Tick Order: The Full Frame Pipeline Understanding the exact order of operations in a scene tick is critical for writing correct game logic. Game Tick Orde…
RPC Security: How s&box Validates Incoming RPCs — Attribute Check, Permission Flags, Kick on Unauthorized
RPC Security: How s&box Validates Incoming RPCs Understanding how s&box validates incoming RPCs is important for writing secure multiplayer code. Validation Ste…
Application Context Flags: IsDedicatedServer, IsHeadless, IsEditor, IsVR — Runtime Context in s&box
Application Context Flags: IsDedicatedServer, IsHeadless, IsEditor, IsVR is a static class in s&box that exposes runtime context flags. These are set at startup…
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…
s&box Source Generator: IUpdateSubscriber, WrappedPropertySet, and How [Sync]/[Rpc.*] Work at Compile Time
s&box Source Generator: How [CodeGenerator] Works for [Sync] and [Rpc.*] The Roslyn source generator transforms your C# code at compile time. Understanding this…
Components - s&box Documentation
Components A Component is added to a GameObject to provide functionality. This functionality can vary wildly. You could add a component that renders a model at …
Networked Objects: Spawning, Network Modes, and Interpolation
Any GameObject can become networked by calling . It will then be sent to all clients and can have Sync Properties and RPC Messages. Spawning a Networked Object …
Async Tasks and Coroutines in s&box Components
Async tasks in s&box run on the main thread by default, operating like coroutines. They are the recommended replacement for coroutines. Basic Async Method Frame…
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…
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 …
Dedicated Servers: Installation, Configuration, and Command Line
s&box dedicated servers run headless and can be installed via SteamCMD. They host multiplayer games without requiring the full editor. Installation Install via …