CodeGenerator: Compile-Time Method and Property Wrapping via Attributes
The attribute in s&box lets you create custom attributes that wrap methods and properties at compile time. This is the mechanism behind properties and — you can…
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…
Network Visibility Culling: AlwaysTransmit, INetworkVisible, CullDelay, and PVS-Based Object Culling
Network Visibility Culling: How s&box Decides What to Send to Each Client s&box has a built-in network visibility culling system that avoids sending updates for…
Prefab Instance Overrides
Prefab Instance Overrides Customize individual prefab instances without affecting the original or other instances. Types of Overrides Visual Indicators Prefab i…
Connection Class: Local, Host, All, Find, Permissions, Kicking, and Visibility Origins
Connection Class: Local, Host, All, Find, and Permissions represents a network connection to a player. It's the primary way to identify and interact with player…
Prefab Instance Overrides: Property, Component, and GameObject Customization
Prefab instance overrides in s&box allow you to customize individual instances of a prefab without affecting the original or other instances. The instance remem…
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…
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…
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…
[Change] Attribute: Callbacks When Properties Change — Works with [Sync] and [ConVar], Priority, and All-Client Firing
[Change] Attribute: Callbacks When Properties Change The attribute invokes a method whenever a property's value changes. It works with any property but is espec…
Publishing Clothing - s&box Clothing Documentation
Publishing Clothing Publish clothing assets to sbox.game for players to use. Setting up your .Clothing File Create a clothing definition asset: Right-click in A…
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…
Prefabs - s&box Documentation
Prefabs Prefabs are reusable GameObject templates that allow you to create consistent, repeatable objects across your game. You create a prefab asset from a Gam…
GameResource Extensions: Appending Data to Existing Assets Without Modification
ResourceExtensions in s&box append additional data to existing GameResources without modifying the original class or assets. Useful for adding properties to Clo…
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 …
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…
NetworkObject: Ownership, Proxy State, and Automatic Culling
NetworkObject Ownership, Proxy State, and Culling Derived from in the s&box engine source. Ownership Model Every networked has a (internal) that tracks: **** — …
Prefab instance overrides — customizing instances without breaking the prefab link
Prefab Instance Overrides Prefab instance overrides let you customize individual instances without affecting the original prefab or other instances. The instanc…
Sandbox: Map entities — Door, Button, FuncMover, TriggerPush, TriggerTeleport
Sandbox Map Entities — Door, Button, FuncMover, TriggerPush, TriggerTeleport These components implement interactive map elements. They live in the namespace and…
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…