#csharp clear

s&box UI: VirtualGrid for large scrollable lists — only renders visible items for performance

s&box: Custom asset types with GameResource — editor-editable data files (weapon defs, item configs)

s&box: Surface-based impact effects and footstep sounds using tr.Surface from SceneTraceResult

s&box: Runtime type discovery and reflection with TypeLibrary — sandboxed System.Reflection replacement

s&box: World-space UI (nameplates, health bars) with WorldPanel component

s&box: GameObject tag system — Tags.Add/Has/Remove and using tags in Scene.Trace filtering

s&box: Changing scenes at runtime with Game.ChangeScene() — multiplayer-safe scene transitions

s&box: Debug visualization with DebugOverlay — spheres, lines, boxes, text, trace results

s&box: Spawning particle effects at runtime — prefab clone vs programmatic ParticleEffect

s&box: Console variables and commands with [ConVar] attribute — Saved, Replicated, Cheat flags

s&box networking: Creating and joining lobbies with Networking.CreateLobby / JoinBestLobby

s&box: Component [Property] attributes — Title, Group, Range, Description, InputAction, Hide, ReadOnly

s&box: Driving character animations with SkinnedModelRenderer — Set parameters, IK, bone transforms, events

s&box: Making HTTP requests with Sandbox.Http — System.Net.HttpClient is sandboxed out

s&box networking: Handling player join/leave/spawn with INetworkListener

s&box: Async/await in Components — use Component.Task (TaskSource) to auto-cancel on destroy

s&box: .NET API whitelist — blocked APIs and their s&box equivalents (System.IO, HttpClient, Reflection)

s&box: Scene-lifetime global systems with GameObjectSystem — no GameObject required

s&box: AI pathfinding with NavMeshAgent — MoveTo, WishVelocity, GetLookAhead

s&box: Collision and trigger detection with ICollisionListener and ITriggerListener