Connection Permissions - s&box Networking Documentation
Connection Permissions Connection permissions control what clients can do in your multiplayer game. Set permissions for spawning objects, using tools, or perfor…
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…
Dedicated Servers: Running Local Projects with Hidden Serverside Code
s&box dedicated servers can run entirely local projects as the game using the command line argument: Assets are still fetched from the cloud version of the game…
[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…
Randomized Clothing for NPC Citizens using Dresser.Randomize() on Prefabs
Overview This demonstrates how to create NPC citizen prefabs with randomized clothing using the built-in component. Each time the prefab spawns or is enabled, i…
[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…
Chat UI Pattern with RPC Broadcasting
Chat UI with RPC Broadcasting A Razor UI component for game chat that handles local input, RPC broadcasting, Steam filtering, and automatic message expiration. …
Testing Multiplayer: New Instances, Hotloading, and Local Connect
s&box provides built-in tools for testing multiplayer without needing another player. You can spawn additional game instances that join your running session, wi…
Serverside Code: #if SERVER Blocks and .Server.cs Files for Hidden Logic
s&box supports serverside-only code that is stripped from client builds. This only works when running local projects on dedicated servers. #if SERVER Blocks Cod…
Sync Properties for Networked State
Sync Properties for Multiplayer The attribute automatically synchronizes property values to all clients when they change. Basic Sync Sync Flags Customize sync b…
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…
Network Visibility: Culling and INetworkVisible Interface
Network Visibility controls whether a networked object sends updates (Sync Vars, Transform) to a specific player. By default, all networked objects always trans…
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…
Console Variables - s&box Documentation
Official s&box documentation for Console Variables (ConVar) and Console Commands (ConCmd). ConVar creates variables that can be modified through the console and…
Auth Tokens - s&box Services Documentation
Auth Tokens Auth tokens allow your game to authenticate players with external backends. The token proves the player's identity and can be validated against Face…
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…
Sandbox: Player spawn flow with PlayerData, events, and NetworkSpawn
Player Spawn Flow in s&box Sandbox The Sandbox game uses a (a ) to handle player connections and spawning. Here's the full pattern: GameManager spawns players o…
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…
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…
RPC Attributes: Rpc.Broadcast, Rpc.Host, Rpc.Owner — Targeting, NetFlags, and Rpc.FilterInclude/Exclude
RPC Attributes: Rpc.Broadcast, Rpc.Host, Rpc.Owner — Targeting and Flags s&box RPCs are declared with nested attributes on the static class. The old top-level a…