Sandbox: Full codebase architecture — systems, player components, weapons, tools, NPCs
Sandbox Codebase Architecture Overview The Facepunch Sandbox game is a large reference implementation. Here's a map of the major systems and how they connect. C…
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…
Video - s&box Media Documentation
Video s&box can decode and play video files for cutscenes, UI elements, or in-world displays. VideoPlayer The VideoPlayer decodes video and exposes frames as a …
Async tasks in s&box — coroutines, parallel tasks, and frame-by-frame animation
Async Tasks in s&box Components s&box async tasks run on the main thread — they behave like coroutines. Use to yield one frame, to wait, and to run tasks in par…
s&box AmmoResource: Shared ammo type GameResource
AmmoResource GameResource API Reference AmmoResource is a GameResource that defines a type of ammo that can be shared across weapons. Weapons that reference the…
MainThread.Queue: Running Code on the Main Thread from Worker Threads
MainThread.Queue: Running Code on the Main Thread from Worker Threads s&box is single-threaded for game logic. If you have code running on a worker thread (e.g.…
Scene.Push(), BatchGroup(), FindInPhysics, and FindAllWithTag — Scene Context Management
Scene.Push() and Scene.BatchGroup(): Scene Context Management Scene.Push() makes a scene the active scene for the duration of a scope. This is required when cre…
Animation - s&box Documentation
Animation s&box supports skeletal animation for characters and objects. Animate models using imported animations, blend between states, and control playback fro…
Hotloading — live code reloading, IL fast path, and common pitfalls
Hotloading — Live Code Reloading s&box recompiles and live-reloads your assembly whenever you save a or file. You don't need to restart the editor for most chan…
s&box FuncMover: Moving and rotating objects
FuncMover Component API Reference FuncMover is a Component that moves and rotates a GameObject with configurable linear and rotational movement patterns. Type S…
s&box Input System: Down, Pressed, Released, AnalogLook, AnalogMove, Input Contexts, and Suppression
s&box Input System: Actions, Contexts, and How Input State Works The s&box static class provides all player input querying. Actions are defined in the project's…
Razor Panels - s&box Documentation
Official s&box documentation for Razor Panels - the UI layout system. Razor Panels use a familiar HTML-like syntax with C# code-behind for building game interfa…
[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…
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…
Scene Tick Order: Full Frame Pipeline — FixedUpdate, Update, PreRender, ProcessDeletes, and Stage Hooks
Scene Tick Order: The Full Frame Pipeline Understanding the exact order of operations in a scene tick is critical for writing correct game logic. Game Tick Orde…
s&box MathX: Remap, LerpInverse, ExponentialDecay, SmoothDamp, SpringDamp, DeltaDegrees, and Unit Conversion
s&box MathX: Math Utility Extensions for Game Development is a static class providing math utilities not in or . Most methods are also extension methods, so you…
TemporaryEffect Component: Auto-Destroy, ITemporaryEffect, BecomeOrphan, and Editor Behavior
TemporaryEffect Component: Auto-Destroy with ITemporaryEffect Support destroys a after a set time, optionally waiting for child effects (particles, sounds) to f…
ScenePhysicsSystem: Physics Sub-Stepping at 120Hz, Collision Event Routing, Keyframe Colliders, and Editor Physics
ScenePhysicsSystem: How Physics Steps Work in s&box is the built-in that drives physics simulation. Understanding it explains the physics step order and collisi…
SkinnedModelRenderer: Animation Events (Footstep, Sound, Generic, AnimTag) and Sequence Playback
SkinnedModelRenderer Animation Events and Sequence Playback Animation Events exposes callbacks for animation events defined in the model's animation graph or se…
Hotloading: Live Code Reload Without Editor Restart in s&box
s&box hotloading recompiles and live-reloads code when you save or files, without restarting the editor. How It Works IL Hotload (Fast): If only method bodies c…