[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…
Sync Properties - Complete Networking Guide
Sync Properties Sync Attribute Adding the attribute to a property on a Component will have its latest value sent to other players each time it changes. These pr…
Sync Properties: Networked State with Change Detection and Collections
The attribute on a Component property sends its latest value to other players each time it changes. Only the owner of the object can change synced properties. B…
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…
Sync Properties: Automatic Property Replication with [Sync] Attribute
Adding the attribute to a property on a Component will have its latest value sent to other players each time it changes. Only the owner of the object can change…
NetList and NetDictionary: Delta Sync, OnChanged Callbacks, Write Guard, and CanWriteChanges
NetList and NetDictionary: Networked Collections with Delta Sync and are s&box networked collection types for use with . They only send changes (deltas) over th…
Hotloading — live code reloading, IL fast path, and common pitfalls
Hotloading — Live Code Reloading s&box recompiles and live-reloads your assembly whenever you save a or file. You don't need to restart the editor for most chan…
Undo System - s&box Editor Documentation
Undo System The undo system allows you to make editor actions reversible. Users can press Ctrl+Z to undo changes made by your tools. Scope Based Undo Create an …
NetworkMode, NetworkFlags, OwnerTransfer, NetworkOrphaned — Complete Networking Enum Reference
NetworkMode, NetworkFlags, OwnerTransfer, and NetworkOrphaned — Complete Reference NetworkMode Controls how a is networked. Set via . Once a is a , only the hos…
BuildHash pattern for Razor panel optimization
BuildHash Pattern for Razor Panel Optimization BuildHash is a method you can override in Razor panels to prevent unnecessary rebuilds when the underlying state …
IGameObjectNetworkEvents: StartControl, StopControl, and NetworkOwnerChanged Callbacks
IGameObjectNetworkEvents: Ownership Change Callbacks Implement on a component to receive callbacks when network ownership of the parent changes. Interface Metho…
Hotloading - s&box Documentation
Hotloading Whenever you save a code file in your project (.cs or .razor files), we recompile and attempt to live-reload the changed assembly. This lets you quic…
Network Ownership: Transfer, IsProxy, and Orphaned Modes
Networked GameObjects can be owned by a connection. The owner simulates the object — controlling its position and sync properties. Unowned objects are simulated…
Hotloading Pitfalls: Default Values, Types, Delegates, and Optimization
s&box hotloads code changes live when you save or files. Understanding the pitfalls helps avoid subtle bugs during development. How It Works IL Hotload (Fast): …
IGameObjectNetworkEvents: Ownership Change and Control Transfer Events
lets Components on a networked GameObject react to ownership changes. The events are targeted only at the specific GameObject whose ownership is changing. Inter…
Hotloading: Live Code Reload Without Editor Restart in s&box
s&box hotloading recompiles and live-reloads code when you save or files, without restarting the editor. How It Works IL Hotload (Fast): If only method bodies c…
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…
Sandbox: PlayerInventory — weapon slots, pickup, drop, and loadout persistence
Sandbox PlayerInventory — Weapon Slots, Pickup, Drop, and Loadout Persistence manages up to 6 weapon slots, handles pickup/drop logic, and delegates loadout sav…
Network Ownership: Taking, Dropping, and Transferring Object Control
Networked GameObjects can be owned by a connection. Objects owned by a connection are simulated by that connection — their position and sync variables are contr…
Component Versioning: JsonUpgrader for Breaking Property Changes in s&box
s&box Component Versioning lets you define upgraders for breaking changes like property renames or data structure changes. Upgrades are chained — if a component…