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…
Input Glyphs: Device-Adaptive Button Icons for UI Hints
Input glyphs in s&box provide an easy way to show users which buttons to press for actions. They automatically adjust for whatever device is being used and retu…
Localization: Token-Based Multi-Language UI Text in s&box
s&box supports localization through token-based string replacement. Any displayed string beginning with is recognized as a localization token and replaced with …
SyncFlags.Interpolate: How Networked Property Interpolation Works — Supported Types, InterpolationBuffer, and Delay
SyncFlags.Interpolate: How Networked Property Interpolation Works When is applied to a property, proxy clients receive a smoothed value between network ticks ra…
s&box ThrusterDefinition: Thruster type GameResource
ThrusterDefinition GameResource API Reference ThrusterDefinition is a GameResource that defines a thruster type with a prefab, used by the Thruster tool to spaw…
s&box HoverballDefinition: Hoverball type GameResource
HoverballDefinition GameResource API Reference HoverballDefinition is a GameResource that defines a hoverball type with a prefab, used by the Hoverball tool to …
s&box WheelDefinition: Wheel type GameResource
WheelDefinition GameResource API Reference WheelDefinition is a GameResource that defines a wheel type with a prefab, used by the Wheel tool to spawn wheels. Ty…
s&box ScriptedEmitter: Particle emitter GameResource
ScriptedEmitter GameResource API Reference ScriptedEmitter is a GameResource that defines a particle/VFX emitter with a prefab, used for spawning visual effects…
Editor Widgets
Editor Widgets Build custom editor UI using Widgets (different from in-game Panels). Creating a Widget Widget as Window Widget as Child Dockable Widget Asset Ed…
Sandbox.GameResource
Sandbox.GameResource Base class for custom asset types. Overview GameResource is the base class for creating custom asset types that appear in the editor with f…
Backend Services - Achievements, Leaderboards, Stats
Backend Services - Achievements, Leaderboards, Stats Integrate Steam backend services for player progression, competition, and analytics. Achievements Track and…
Input Handling Code Examples
Input Handling Code Examples Comprehensive input examples covering buttons, analog sticks, mouse, controller, and VR input. Default Input Actions
Sandbox: ToolMode system — creating custom Tool Gun modes
ToolMode System — Creating Custom Tool Gun Modes is the base class for all Tool Gun tools in Sandbox. Tools are components on the Toolgun and are enabled/disabl…
Leaderboards API
Implement leaderboards using s&box Services API. Submitting Scores Reading Leaderboards Leaderboard Entry Properties Web API Access Query leaderboards from exte…
Custom Editors
Custom Editors Create custom editor widgets for your classes, structs, and assets. ControlWidget (Property Editor) Create custom property editors using : Attrib…
s&box SoundDefinition: Categorized sound GameResource
SoundDefinition GameResource API Reference SoundDefinition is a GameResource that defines a categorized sound for use on spawned entities (thrusters, hoverballs…
VirtualGrid
VirtualGrid Efficient virtualized grid component for large lists in UI. When to Use Use when displaying: Large item lists (100s-1000s) Inventories with many slo…
s&box ToolAction: Toolgun input binding
ToolAction Enums and ToolActionEntry API Reference ToolInput, InputMode, and ToolActionEntry are used by the toolgun system to bind actions to input slots with …
s&box LineDefinition: Trail line resource
LineDefinition GameResource API Reference LineDefinition is a GameResource for trail line definitions used by the Trail tool. It implements IDefinitionResource …
s&box WeaponConVars: Global weapon settings
WeaponConVars Static Class WeaponConVars is a static class that defines console variables controlling global weapon behavior in s&box. These ConVars can be set …