s&box Component Lifecycle: Exact Execution Order and Internal Guards
s&box Component Lifecycle: Exact Execution Order and Internal Guards Derived directly from and in the s&box engine source. Execution Order **** — Called once wh…
Dedicated Servers: Installation, Configuration, and Command Line
s&box dedicated servers run headless and can be installed via SteamCMD. They host multiplayer games without requiring the full editor. Installation Install via …
SceneAnimationSystem: Threaded Animation, Bone Merge Order, Procedural Bones, and Ragdoll Physics Step
SceneAnimationSystem: Threaded Animation Updates and Bone Merge Order drives all animation updates. It runs at (after , before ). Threading Model Animation upda…
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…
Unit Tests - s&box Documentation
Official s&box documentation for Unit Tests - automated testing. Unit Tests covers writing and running tests for s&box code. Tests can verify component behavior…
Testing Multiplayer: Local Multi-Instance Development Workflow
The best way to test multiplayer is having someone join your game, but s&box provides tools for solo testing. Spawning a New Instance Click the network status i…
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 …
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…
VR Development: Tracked Objects, Controllers, and Hand Input
s&box supports VR development with built-in components for headset tracking, controller input, and hand animation. Enabling VR Editor: Launch with headset conne…
Component Interfaces: IDamageable, ICollisionListener, ExecuteInEditor
s&box provides several built-in component interfaces for physics, damage, networking, and editor execution. ExecuteInEditor Runs component methods (OnAwake, OnE…
Component Versioning: JsonUpgrader for Scene and Prefab Migration
s&box component versioning uses attributes and the property to migrate serialized scene/prefab data when you make breaking changes to component properties. This…
Standalone Code: Full .NET Access and STANDALONE Constant for Exported Games
When s&box games are exported as standalone builds, they run outside the platform with additional capabilities not available in platform games. STANDALONE Const…
Physics Events - s&box Physics Documentation
Physics Events Receive callbacks for physics events in the scene. IScenePhysicsEvents Implement this interface on a component to receive scene-wide physics even…
Backend Services - Achievements, Leaderboards, Stats
Backend Services - Achievements, Leaderboards, Stats Integrate Steam backend services for player progression, competition, and analytics. Achievements Track and…
Engine Frame Loop Order: FrameStart, Scene Tick, and FrameEnd Sequence
Engine Frame Loop Order The s&box engine frame loop runs in a specific order each frame. Understanding this is important for knowing when your code runs relativ…
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…
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…
[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…
PlayerController: Architecture, Ground Detection, Jump System, WishVelocity Sync, and Physics Step Integration
PlayerController: Architecture, Ground Detection, and Jump System is the built-in s&box character movement component. It uses a internally and implements to hoo…
FixedUpdate Internals: Step Counting, Spiral of Death Prevention, Time.Scope, and ApplyForce vs ApplyImpulse
FixedUpdate Internals: How the Fixed Timestep Works in s&box The s&box fixed update system uses a step-counting approach rather than accumulating time. This is …