Platform Chat - Built-in Multiplayer Text Chat System
Built-in text chat for multiplayer games. Messages are routed through the host, validated, filtered, and displayed via the standard overlay UI - no game code re…
Platform Chat: Built-in Text Chat with IChatEvent Filtering
s&box includes a built-in platform chat system for multiplayer games. Messages are routed through the host, validated, filtered via Steam's text filter, and dis…
RPC Messages: Remote Procedure Calls with Broadcast, Owner, and Host Targets
Components can contain RPCs (Remote Procedure Calls). An RPC is a function that when called, is also called remotely on other clients. Broadcast RPC makes a fun…
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…
Networking Static Class: IsHost, IsClient, CreateLobby, Connect, SetData, and Debug Convars
Networking Static Class: IsHost, IsClient, CreateLobby, Connect, and Server Data The static class manages the multiplayer session in s&box. Session State Note: …
Testing Multiplayer - s&box Networking Documentation
Testing Multiplayer s&box provides tools for testing multiplayer locally without needing multiple computers or Steam accounts. New Instance Launch a second game…
NetworkSpawn, Ownership Transfer, and Network.Refresh in s&box
NetworkSpawn and Ownership Transfer in s&box Spawning a Networked Object Ownership Transfer Modes (OwnerTransfer) Taking and Dropping Ownership Checking Ownersh…
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…
Dedicated Servers - s&box Documentation
Official s&box documentation for dedicated server hosting. Dedicated Servers covers running s&box games on headless servers. Running Local Projects explains tes…
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 …
ISceneLoadingEvents: Async Scene Load Hooks with BeforeLoad, OnLoad, and AfterLoad
ISceneLoadingEvents: Async Scene Load Hooks Implement on a to hook into the scene loading pipeline. The game waits for async tasks to complete before proceeding…
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…
[Sync] Attribute: SyncFlags.FromHost, SyncFlags.Interpolate, SyncFlags.Query — How Property Sync Works
[Sync] Attribute: SyncFlags and How Property Synchronization Works The attribute marks a component property for automatic network synchronization from the owner…
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…
Component Marker Interfaces: ExecuteInEditor, DontExecuteOnServer, IDamageable, INetworkSpawn, IPressable, INetworkVisible
Component Marker Interfaces: ExecuteInEditor, DontExecuteOnServer, IDamageable, INetworkSpawn, IPressable s&box uses marker interfaces nested inside the class t…
Connection Permissions: CanSpawnObjects and CanRefreshObjects
The host can change permissions for a specific in s&box multiplayer. The ideal place to set these permissions is in the network event callback when a player con…
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…
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 …
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 …
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 …