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…
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…
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…
s&box ISpawnerExtensions: Creating spawner instances
ISpawnerExtensions: Creating ISpawner Instances ISpawnerExtensions provides an extension method to create ISpawner instances from type strings, supporting vario…
Sandbox: CleanupSystem — full scene cleanup and per-player cleanup with Ownable
Sandbox CleanupSystem — Scene Cleanup and Per-Player Cleanup is a that handles cleaning up spawned objects. It distinguishes between "baseline" objects (part of…
Cloud Assets: Using sbox.game Models, Textures, and Sounds in Your Project
s&box provides access to a large selection of cloud assets (textures, models, sounds) from sbox.game without manual downloading or mounting. Cloud Browser Drag …
ModelRenderer Material Overrides: MaterialOverride, SetMaterialOverride by Tag, Per-Index Materials Accessor, and Attachments
ModelRenderer Material Overrides: MaterialOverride, SetMaterialOverride, and Materials Accessor provides several ways to override materials on a model. Global M…
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…
Cloud Assets: Referencing and Runtime Mounting from sbox.game
s&box provides access to a large library of cloud assets (models, textures, sounds) hosted on sbox.game. Assets are downloaded and cached automatically — no man…
Sandbox: SaveSystem — scene diff save/load with versioning and ISaveEvents
Sandbox SaveSystem — Scene Diff Save/Load The captures the difference between the current scene state and the original scene file. This means saves are compact …
Custom Particle Controller: Code-Based Particle Simulation with Threading
The s&box particle system allows custom code-based particle controllers by inheriting from . Add the component to a GameObject with a ParticleEffect to control …
Custom Editors - s&box Editor Documentation
Custom Editors Custom editors let you create specialized inspector interfaces for your components and assets. Build custom widgets, property drawers, and full i…
s&box Rigidbody Component: Physics Body Reference
s&box Rigidbody Component: Physics Body Reference adds physics simulation to a . It requires at least one component on the same object. Key Properties Force and…
ModelRenderer: Body Groups, Material Override, Material Groups, Shadow Modes, and LOD Override
ModelRenderer: Body Groups, Material Override, Shadow Modes, and LOD renders a static (non-skinned) model in the world. It creates a in the . Basic Usage Body G…
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…
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…
GameObject.Clone: Two-Pass Cloning, CloneConfig, NotCloned Flag, and Reference Rewiring
GameObject.Clone: Spawning Prefabs and Cloning GameObjects with CloneConfig is the primary way to instantiate prefabs and duplicate GameObjects in s&box. It per…
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 …
ScreenPanel and WorldPanel: AutoScale Strategies, ZIndex, LookAtCamera, and Interaction Range
ScreenPanel and WorldPanel: UI Components in s&box Scenes ScreenPanel is the root component for 2D screen-space UI. It renders attached children to the screen. …
s&box Component Lifecycle: Exact Execution Order and Internal Guards
s&box Component Lifecycle: Exact Execution Order and Internal Guards Derived directly from and in the s&box engine source. Execution Order **** — Called once wh…