Component Lifecycle: Full Callback Order — OnAwake, OnEnabled, OnStart, OnUpdate, OnFixedUpdate, OnDisabled, OnDestroy
Component Lifecycle: Full Callback Order s&box components have a well-defined lifecycle. Understanding the exact order prevents subtle bugs. Callback Order Key …
Component execution order — OnAwake, OnStart, OnUpdate, OnFixedUpdate, and OnLateUpdate
Component Execution Order s&box calls component lifecycle methods in a defined order each frame. Understanding this order is essential for avoiding race conditi…
Time Utilities: TimeSince, TimeUntil, and Frame-Rate Independence
s&box provides time utilities for cooldowns, countdowns, and frame-rate independent movement without manual bookkeeping. Time.Delta Seconds since last frame. Mu…
Custom Particle Controller: Code-Based Particle Simulation with Threading
The s&box particle system allows custom code-based particle controllers by inheriting from . Add the component to a GameObject with a ParticleEffect to control …
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 Panels: HTML/CSS UI with C# in s&box
s&box UI can be created using Razor syntax — web-like HTML/CSS combined with C#. Panels are not rendered via a HTML renderer; the syntax is a convenience layer …
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 …
Custom Assets: GameResource Definition with Inspector and Hotloading
Define custom asset types as in s&box. They provide inspector windows, are hotloaded in-game, and are stored as JSON files with custom extensions. Creating a Cu…
Network Ownership System
Network Ownership System Control who simulates and updates networked GameObjects with the ownership system. Ownership Basics Every networked object has an Owner…
Input System Overview: Button Queries, Analog Input, and Escape Override
The s&box Input class provides button queries, analog input, and escape key handling for gameplay. Button Queries Analog Input Custom Keys Configure input actio…
Custom GameResource Assets: Define, Create, and Access Custom Asset Types
Define custom asset types as subclasses. They get a nice inspector window, are hotloaded in-game, and are stored as JSON files with a custom extension. Creating…
Player Controller - s&box Scene Documentation
Player Controller The Player Controller component provides character movement for games. It handles physics-based movement, ground detection, jumping, and camer…
WebSockets - s&box Networking Documentation
WebSockets s&box supports WebSocket connections for real-time communication with external servers. Use for custom networking, persistent data, or integrating wi…
NavMesh Agent - s&box Gameplay Documentation
NavMesh Agent The NavMeshAgent component provides automatic navigation along the NavMesh. It handles pathfinding, obstacle avoidance, and smooth movement to tar…
Component.OnLoad: Async Loading Pattern — LoadingContext, Scene.IsLoading, and Loading Screen Integration
Component.OnLoad: Async Loading Pattern for Components Components can perform async loading work by overriding . This is the correct way to load resources async…
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: …
Networking State in s&box: IsHost, IsClient, IsActive, and Lobby Management
Networking State in s&box: IsHost, IsClient, IsActive Understanding the networking state is critical for writing correct multiplayer code in s&box. Key Properti…
GameResource: Custom Asset Types, PostLoad, PostReload, ResourceLibrary.Get, and Resource Networking
GameResource: Custom Asset Types, PostLoad, and Resource Networking is the base class for all JSON-based assets in s&box (prefabs, scene files, custom assets). …
Voice Component: Push-to-Talk, Lip Sync Visemes, ExcludeFilter, ShouldHearVoice, and Amplitude
Voice Component: Voice Chat, Lip Sync, and Viseme Morphs The component handles voice chat recording, transmission, and playback with optional lip sync. Basic Se…
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…