RenderOptions: Game, Overlay, Bloom, AfterUI Render Layers — and Renderer.Attributes for Shader Parameters
RenderOptions: Render Layers for SceneObjects controls which render layers a component's appears in. It's exposed as a property on all subclasses. Render Layers…
TextRenderer: 3D World Text, TextScope, Localization via # Prefix, Scale vs FontSize, and JsonUpgrader Pattern
TextRenderer: 3D World Text with Localization Support renders text in 3D world space using for font configuration. Basic Usage TextScope The property controls a…
Hotloading - s&box Documentation
Hotloading Whenever you save a code file in your project (.cs or .razor files), we recompile and attempt to live-reload the changed assembly. This lets you quic…
RPC Messages - s&box Documentation
RPC Messages Components can contain RPCs. An RPC is a function that when called, is called remotely too. Supported RPC arguments are the exact same as Sync prop…
s&box DupeCategory: Workshop duper categories
s&box DupeCategory Enum DupeCategory is an enum used to categorize workshop dupes for filtering and browsing. Each category has an associated icon for UI displa…
Sync Properties: Networked State with Change Detection and Collections
The attribute on a Component property sends its latest value to other players each time it changes. Only the owner of the object can change synced properties. B…
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…
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…