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…
s&box IKillSource: Kill feed attacker interface
IKillSource Interface API Reference IKillSource is an interface for Components that can appear as an attacker in the kill feed. Implement on Player, Npc, explos…
s&box ISpawner: Spawner interface
ISpawner Interface API Reference ISpawner describes something that can be spawned into the world. Implementations handle their own preview rendering and spawn l…
s&box PostProcessGroup: Post-process categories
PostProcessGroup Enum Documentation PostProcessGroup is an enum that categorizes post-processing effects for organization in the spawn menu and asset browser. I…
s&box BaseToggle: Toggle state base class
Abstract base class for toggle state with [Sync] support and event callbacks. Properties Methods Usage Inherit from this class for any component that needs a sy…
s&box TaskBase: NPC task base class
Abstract base class for NPC tasks. Tasks are executed as part of a Schedule and return a TaskStatus to indicate their state. Properties Methods TaskStatus Enum …
s&box BaseNpcLayer: NPC behavior layer base
Abstract base class for NPC behavior layers. Layers provide specific services (navigation, senses, speech) for tasks to use. Properties Methods Usage Inherit fr…
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…
WebSocket Connections with Auth Token Authentication in s&box
s&box supports WebSocket connections to external servers for custom networking or persistent data outside the local filesystem. Basic Connection and Messaging U…
IScenePhysicsEvents: Pre and Post Physics Step Hooks
lets Components or GameObjectSystems wrap logic around the physics step. Implement it when you have systems that work closely with physics and need to run code …
Styling Panels: SCSS, Inline Styles, and Code-Based Styling
s&box panels can be styled using SCSS stylesheets, inline styles, style blocks, or direct code manipulation. The styling system uses CSS-like syntax but is rend…
Clutter System: GPU-Instanced Scattering for Grass, Rocks, and Debris
The s&box Clutter System scatters large amounts of small objects (grass, rocks, debris) with GPU-instanced rendering. It handles placement, streaming, and LOD a…
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): …
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…
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…
Math Types: Vector3, Rotation, Angles, and Transform
s&box provides several math types for 3D game development in the namespace. Vectors Vector2 — 2D (x, y) for screen/UI Vector3 — 3D (x, y, z) for world positions…
Game Mounts: Creating Custom Asset Mounts for External Games
The s&box mount system is extensible — anyone can write a mount to add support for a new game or engine. A mount detects a game's install directory via Steam, s…
Razor Components: Reusable UI Fragments with RenderFragment and Generics
Razor Components in s&box allow you to define reusable UI content that can be used inside other razor files. They make panels more agile and composable. Creatin…
Component Editor Tools: Selection-Based Scene View UI and Gizmos
Component Editor Tools in s&box are always active when a specific Component is selected. They create UI in the scene view and can override input. An example is …
Binary Serialization: BlobData for Large GameResource Data Storage
When JSON files grow too large in s&box, you can store data as a binary blob using the class. This works with GameResource assets and provides custom serializat…