Trigger-Based Background Music Crossfade Framework
This pattern replaces area music with a small local-client music framework. Each zone requests a target , while one controller crossfades the currently playing …
BaseWeapon and BaseCarryable Weapon Framework
BaseWeapon and BaseCarryable - Weapon Framework Base classes for creating weapons in s&box. Provides ammo management, view/world models, and input handling. Bas…
Joint Components: HingeJoint Motor Modes, BreakForce, Body Resolution, and Joint Creation Timing
Joint Components: HingeJoint, FixedJoint, and the Joint Base Class s&box provides physics joint components for constraining physics bodies. All joints extend th…
IPlayerControllable example: ThrusterEntity
IPlayerControllable Example: ThrusterEntity ThrusterEntity demonstrates how to implement IPlayerControllable for a thruster that responds to player input while …
s&box Throwable: Grenade type enum
Throwable Enum Documentation Throwable is an enum that defines the type of throwable weapon for viewmodels. It is used by the ViewModel component to specify whi…
Async Tasks and Coroutines in s&box Components
Async tasks in s&box run on the main thread by default, operating like coroutines. They are the recommended replacement for coroutines. Basic Async Method Frame…
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 Methods: OnLoad, OnAwake, OnStart, OnUpdate, OnFixedUpdate Lifecycle
Component lifecycle methods you can override: OnLoad (async) Called after deserialization for loading. Loading screen stays open until all OnLoad tasks complete…
Component Execution Order: Lifecycle Flow and GameObjectSystem Ordering
s&box component execution order determines when lifecycle methods are called. You should not rely on the order in which the same callback gets invoked for diffe…
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 …
NavMeshLink custom traversal — parabolic jump, ladder climb, and physics jump
NavMeshLink Custom Traversal connects two NavMesh points for agents to traverse (jumps, ladders, teleports). Default traversal linearly interpolates between sta…
Component Events - s&box Scene Documentation
Component Events Components can broadcast and listen for events. This provides a decoupled way for components to communicate without direct references. Event In…