Gessa Docs
Generated Reference

Reference

Capability Pack Architecture

Sources: server/src/modules/runtime/capabilities/packs.ts:runtimeCapabilityPacks.
engine v1.0.234Copy for LLM

Capability packs are the canonical declaration layer for netcode-relevant engine capabilities. A pack describes every surface a capability touches: components, script SDK hosts, Script IR nodes, authoring patterns, runtime system contributions, replication, prediction, lag compensation, anti-cheat, expected side effects, Engine Contract Packet contributions, and test scenarios.

The schema lives in packages/protocol/src/index.ts as CapabilityPackSchema and its sub-declarations. The runtime registry lives in server/src/modules/runtime/capabilities/registry.ts; registered packs live in server/src/modules/runtime/capabilities/packs.ts.

Registered pack count: 24.

Status semantics:

  • implemented: active runtime, SDK, component, projection, or side-effect surface exists in the current engine.
  • declarative: registry metadata exists but no active runtime or SDK side-effect surface is declared.
  • reference: example/future pack shape only; not active in the current registry.

Inventory

Pack IDStatusComponentsSDK hostsRuntime systemsReplicationAnti-cheat
physics.v1implementedColliderComponent, RigidBodyComponent, VelocityComponent, ForceComponent, CharacterMovementComponentctx.physics.command, ctx.physics.occupancyQuery, ctx.physics.overlapTest, ctx.physics.raycast, ctx.physics.shapecast30:runtime.physicsSystem, 90:runtime.collisionSystemColliderComponent->public/medium, ForceComponent->server/medium, RigidBodyComponent->public/medium, VelocityComponent->public/mediumphysics.force_bounds
input.v1implementedInputProfileComponentNone28:runtime.movementSystem, 29:runtime.movementLivenessSystem, 110:runtime.actionSystemInputProfileComponent->owner/highinput.profile_version, input.rate_limit
audio.v1implementedAudioEmitterComponentctx.audio.play, ctx.audio.playSpatial, ctx.audio.setBackgroundMusic, ctx.audio.setVolume, ctx.audio.stopNoneAudioEmitterComponent->public/lowNone
camera.v1implementedCameraComponentctx.camera.addLookInput, ctx.camera.setLookSensitivity, ctx.camera.setPitchClamp, ctx.camera.setViewTargetNoneCameraComponent->public/mediumNone
spawn.v1implementedNonectx.world.despawn, ctx.world.spawn24:runtime.characterSystemNonespawn.bounds
timer.v1implementedTimerComponentNone140:runtime.timerSystemTimerComponent->public/lowNone
hierarchy.v1implementedTransformComponentctx.entity.ancestors, ctx.entity.children, ctx.entity.descendants, ctx.entity.detach, ctx.entity.parent, ctx.entity.setParent, ctx.entity.worldPosition, ctx.entity.worldRotation25:runtime.hierarchyTransformSystemTransformComponent->public/highhierarchy.server_authority
mutation.v1implementedNonectx.entity.addComponent, ctx.entity.hasTag, ctx.entity.patchComponent, ctx.entity.readComponent, ctx.entity.removeComponent, ctx.entity.removeTag, ctx.entity.replaceComponent, ctx.entity.setName, ctx.entity.setTag, ctx.tween.cancel, ctx.tween.start0:runtime.componentPatchSystemNoneNone
script.v1implementedScriptComponentctx.events.emit, ctx.log, ctx.random, ctx.random.bool, ctx.random.gaussian, ctx.random.int, ctx.random.pick, ctx.random.pointInCircle, ctx.random.pointInSphere, ctx.random.range, ctx.random.seeded, ctx.random.shuffle, ctx.random.sign, ctx.random.unitVector, ctx.random.weightedPick0:runtime.componentPatchSystem, 10:runtime.observerCommandSystem, 20:runtime.scriptSystemScriptComponent->server/lowscript.sandbox, script.host_budget
ui.v1implementedNonectx.ui.closePanel, ctx.ui.openPanel, ctx.ui.setWidgetValue19:runtime.uiBindingWriteSystem, 19:runtime.uiEventSystemNoneNone
persistence.v1implementedNonectx.warehouse.append, ctx.warehouse.create, ctx.warehouse.delete, ctx.warehouse.get, ctx.warehouse.increment, ctx.warehouse.query, ctx.warehouse.set, ctx.warehouse.transform, ctx.warehouse.update26:runtime.ownedInstancePersistenceSystemNonepersistence.prefetch_only, persistence.drain_audit
match.v1implementedNonectx.match.addScore, ctx.match.getScore, ctx.match.getState, ctx.match.patchObjective, ctx.match.setPhase, ctx.room.getPlayers, ctx.room.getState150:runtime.lifecycleSystemNoneNone
lifecycle.v1implementedNoneNone19:runtime.possessionCommandSystem, 20:runtime.purchaseFulfillmentCommandSystem, 21:runtime.scriptSystemNoneNone
team.v1implementedNonectx.team.getAssignmentNoneNoneNone
objective.v1implementedNoneNoneNoneNoneNone
rendering.v1implementedRenderableComponent, SpatialCaptureComponent, MaterialInstanceOverrideComponent, AnimationStateComponent, LightComponent, TerrainComponent, WaterComponent, ReflectionProbeComponent, LocalEnvironmentVolumeComponent, DecalComponent, HairComponent, ParticleEmitterComponent, TextRenderableComponent, HighlightComponentctx.terrain.heightAt, ctx.terrain.normalAt, ctx.terrain.raycastDown, ctx.terrain.sampleLayerWeights, ctx.terrain.slopeAt, ctx.water.isSubmerged, ctx.water.surfaceLevelAtNoneAnimationStateComponent->public/low, DecalComponent->public/low, HairComponent->public/low, HighlightComponent->public/low, LightComponent->public/low, LocalEnvironmentVolumeComponent->public/low, MaterialInstanceOverrideComponent->public/low, ParticleEmitterComponent->public/low, ReflectionProbeComponent->public/low, RenderableComponent->public/low, SpatialCaptureComponent->public/low, TerrainComponent->public/low, TextRenderableComponent->public/low, WaterComponent->public/lowNone
world.v1implementedNavAgentComponentctx.navigation.findPath, ctx.navigation.isReachable, ctx.navigation.nearestPoint, ctx.navigation.raycast, ctx.navigation.steerToward, ctx.world.find, ctx.world.queryNoneNavAgentComponent->public/mediumNone
worlds.v1implementedNonectx.world.teleportPlayer22:runtime.scriptSystemNoneworlds.teleport_authority
prefabs.v1implementedNonectx.world.spawn, ctx.world.spawnPrefab23:runtime.scriptSystemTransformComponent->public/highprefabs.parent_first
platform.v1implementedNonectx.platform.exitFullscreen, ctx.platform.exitPointerLock, ctx.platform.requestFullscreen, ctx.platform.requestPointerLockNoneNoneplatform.user_gesture
network.v1implementedNetworkProfileComponentctx.network.sendMessageNoneNetworkProfileComponent->public/highnetwork.channel_allowlist, network.rate_limit
character.v1implementedNonectx.players.eliminate, ctx.players.get, ctx.players.list, ctx.players.possess, ctx.players.release, ctx.players.spawnCharacterNoneNoneNone
ownership.v1implementedNonectx.entity.setOwner, ctx.world.entityHasTag, ctx.world.setEntityOwner, ctx.world.setEntityTagNoneNoneNone
commerce.v1implementedNonectx.commerce.owns, ctx.commerce.promptPurchase, ctx.inventory.grantNoneNoneNone

Registry Consumers

  • Runtime system order is derived from implemented runtimeContributions.
  • Replication default component visibility derives from pack replication.
  • Script host APIs served by the backend derive from pack sdkFunctions.
  • Engine Contract Packet component/runtime/script summaries merge pack-derived surfaces.
  • Lag compensation, prediction, and anti-cheat declarations are exposed as registry-derived views.

Package-level catalogs such as @game-platform/script-nodes remain the concrete declaration home for existing implemented script nodes. The capability registry verifies and traces those declarations to packs.

Drift Guards

server/tests/capability-pack-canonical.test.ts fails when a built-in component, implemented SDK host function, Script IR node, authoring pattern, replication declaration, prediction declaration, lag-compensation declaration, anti-cheat declaration, runtime contribution, or packet contribution drifts away from the pack registry.

npm run gen-docs:check fails when this generated inventory differs from source.

Adding A Capability

  1. Add one CapabilityPack entry to runtimeCapabilityPacks with a stable versioned id.
  2. Declare components, SDK hosts, Script IR nodes, authoring patterns, runtime contributions, replication, prediction, lag compensation, anti-cheat, side effects, and test scenarios.
  3. Implement every runtime system and SDK host referenced as implemented.
  4. Run npm run gen-docs:check and the capability-pack canonical tests.

physics.v1

Authoritative collider, rigid body, velocity, internal force queue, Physics.command writes, and deterministic physics query primitives.

SurfaceCurrent declarations
Statusimplemented
ComponentsColliderComponent, RigidBodyComponent, VelocityComponent, ForceComponent, CharacterMovementComponent
SDK hostsctx.physics.command, ctx.physics.occupancyQuery, ctx.physics.overlapTest, ctx.physics.raycast, ctx.physics.shapecast
Script IR nodeshost.physics.command, host.physics.occupancy_query, host.physics.overlap_test, host.physics.raycast, host.physics.shapecast
Runtime systems30:runtime.physicsSystem, 90:runtime.collisionSystem
ReplicationColliderComponent->public/medium, ForceComponent->server/medium, RigidBodyComponent->public/medium, VelocityComponent->public/medium
PredictionNone
Lag compensationNone
Anti-cheatphysics.force_bounds:reject
Expected side effectscomponent_patched:ForceComponent:within_tick, event_emitted:RuntimeCollisionEnter:within_tick
Test scenariosphysics.query.hosts.resolve, physics.command.buffers_force_entry, physics.collider_material_sync

input.v1

Input action declaration, binding, context stack, and action command policy primitives.

SurfaceCurrent declarations
Statusimplemented
ComponentsInputProfileComponent
SDK hostsNone
Script IR nodesevent.action
Runtime systems28:runtime.movementSystem, 29:runtime.movementLivenessSystem, 110:runtime.actionSystem
ReplicationInputProfileComponent->owner/high
Predictionplayer.action:server_authoritative
Lag compensationNone
Anti-cheatinput.profile_version:reject, input.rate_limit:reject
Expected side effectsevent_emitted:InputActionResolved:within_tick
Test scenariosinput.action.declaration_policy

audio.v1

Audio emitter components and canonical script host functions for audio cues.

SurfaceCurrent declarations
Statusimplemented
ComponentsAudioEmitterComponent
SDK hostsctx.audio.play, ctx.audio.playSpatial, ctx.audio.setBackgroundMusic, ctx.audio.setVolume, ctx.audio.stop
Script IR nodeshost.audio.play, host.audio.play_spatial, host.audio.set_background_music, host.audio.set_volume, host.audio.stop
Runtime systemsNone
ReplicationAudioEmitterComponent->public/low
PredictionNone
Lag compensationNone
Anti-cheatNone
Expected side effectshost_call_made:Audio.play:within_tick, projection_changed:AudioEmitterComponent:within_tick
Test scenariosaudio.hosts.buffer_ops

camera.v1

Camera component and renderer camera projection metadata; behavior authors mutate camera state through component atoms.

SurfaceCurrent declarations
Statusimplemented
ComponentsCameraComponent
SDK hostsctx.camera.addLookInput, ctx.camera.setLookSensitivity, ctx.camera.setPitchClamp, ctx.camera.setViewTarget
Script IR nodeshost.camera.add_look_input, host.camera.set_look_sensitivity, host.camera.set_pitch_clamp, host.camera.set_view_target
Runtime systemsNone
ReplicationCameraComponent->public/medium
PredictionNone
Lag compensationNone
Anti-cheatNone
Expected side effectscomponent_patched:CameraComponent:within_tick
Test scenarioscamera.component_schema

spawn.v1

Canonical direct entity spawn and authorized despawn host primitives.

SurfaceCurrent declarations
Statusimplemented
ComponentsNone
SDK hostsctx.world.despawn, ctx.world.spawn
Script IR nodeshost.world.despawn, host.world.spawn
Runtime systems24:runtime.characterSystem
ReplicationNone
PredictionNone
Lag compensationNone
Anti-cheatspawn.bounds:reject
Expected side effectsentity_spawned:runtime entity:within_tick, state_patch_emitted:entity.despawn:within_tick
Test scenariosspawn.direct_despawn

timer.v1

Authoritative timer component and timer script event dispatch.

SurfaceCurrent declarations
Statusimplemented
ComponentsTimerComponent
SDK hostsNone
Script IR nodesevent.timer
Runtime systems140:runtime.timerSystem
ReplicationTimerComponent->public/low
PredictionNone
Lag compensationNone
Anti-cheatNone
Expected side effectsevent_emitted:RuntimeTimerFired:within_tick
Test scenariostimer.fires_on_interval

hierarchy.v1

Structural entity hierarchy, traversal, and local-to-world transform projection.

SurfaceCurrent declarations
Statusimplemented
ComponentsTransformComponent
SDK hostsctx.entity.ancestors, ctx.entity.children, ctx.entity.descendants, ctx.entity.detach, ctx.entity.parent, ctx.entity.setParent, ctx.entity.worldPosition, ctx.entity.worldRotation
Script IR nodeshost.entity.ancestors, host.entity.children, host.entity.descendants, host.entity.detach, host.entity.parent, host.entity.set_parent, host.entity.world_position, host.entity.world_rotation
Runtime systems25:runtime.hierarchyTransformSystem
ReplicationTransformComponent->public/high
PredictionNone
Lag compensationNone
Anti-cheathierarchy.server_authority:reject
Expected side effectsprojection_changed:entity.world_transform:within_tick, state_patch_emitted:entity.reparent:within_tick
Test scenarioshierarchy.local_to_world

mutation.v1

Canonical entity mutation SDK: component add/patch/replace/remove, tags, names, and structural target authority.

SurfaceCurrent declarations
Statusimplemented
ComponentsNone
SDK hostsctx.entity.addComponent, ctx.entity.hasTag, ctx.entity.patchComponent, ctx.entity.readComponent, ctx.entity.removeComponent, ctx.entity.removeTag, ctx.entity.replaceComponent, ctx.entity.setName, ctx.entity.setTag, ctx.tween.cancel, ctx.tween.start
Script IR nodeshost.entity.add_component, host.entity.has_tag, host.entity.patch_component, host.entity.read_component, host.entity.remove_component, host.entity.remove_tag, host.entity.replace_component, host.entity.set_name, host.entity.set_tag, host.tween.cancel, host.tween.start
Runtime systems0:runtime.componentPatchSystem
ReplicationNone
PredictionNone
Lag compensationNone
Anti-cheatNone
Expected side effectsstate_patch_emitted:component.patch:within_tick, state_patch_emitted:component.remove:within_tick
Test scenariosmutation.component_remove

script.v1

TypeScript script execution, core Script IR, custom events, Random.next, metrics, and debug host APIs.

SurfaceCurrent declarations
Statusimplemented
ComponentsScriptComponent
SDK hostsctx.events.emit, ctx.log, ctx.random, ctx.random.bool, ctx.random.gaussian, ctx.random.int, ctx.random.pick, ctx.random.pointInCircle, ctx.random.pointInSphere, ctx.random.range, ctx.random.seeded, ctx.random.shuffle, ctx.random.sign, ctx.random.unitVector, ctx.random.weightedPick
Script IR nodescore.arithmetic, core.array.first, core.array.for_each, core.array.get, core.array.length, core.array.mutate, core.array.query, core.array.reduce, core.array.transform, core.bitwise, core.boolean, core.bounded.for, core.bounded.while, core.comparison, core.component.patch, core.component.read, core.entity.id, core.event.key, core.event.payload.get, core.expression.codebox, core.flow.break, core.flow.continue, core.flow.do_n, core.flow.do_once, core.flow.flip_flop, core.flow.gate, core.flow.multi_gate, core.flow.return, core.flow.timer.after, core.flow.timer.cancel, core.get, core.host.call, core.if, core.let, core.map, core.math, core.math.remap, core.not, core.object, core.quat, core.record.get, core.select, core.sequence, core.set, core.string, core.switch, core.value.array, core.value.assert, core.value.cast, core.value.coerce, core.value.literal, core.value.object, core.vec3, event.action, event.character_removed, event.character_spawned, event.custom, event.frame, event.init, event.match_ended, event.network_message, event.panel_action, event.phase, event.phase_exit, event.player_joined, event.player_left, event.purchase_fulfilled, event.resize, event.start, event.tick, event.timer, event.trigger, event.trigger_exit, event.widget_press, host.debug.log, host.events.emit, host.random.bool, host.random.gaussian, host.random.int, host.random.next, host.random.pick, host.random.point_in_circle, host.random.point_in_sphere, host.random.range, host.random.seeded, host.random.shuffle, host.random.sign, host.random.unit_vector, host.random.weighted_pick
Runtime systems0:runtime.componentPatchSystem, 10:runtime.observerCommandSystem, 20:runtime.scriptSystem
ReplicationScriptComponent->server/low
PredictionNone
Lag compensationNone
Anti-cheatscript.sandbox:reject, script.host_budget:reject
Expected side effectshost_call_made:ScriptHostFunction:within_tick, event_emitted:CustomEvent:within_tick
Test scenariosscript.host_parity

ui.v1

Runtime UI panel lifecycle, widget value, toast, and UI projection host APIs.

SurfaceCurrent declarations
Statusimplemented
ComponentsNone
SDK hostsctx.ui.closePanel, ctx.ui.openPanel, ctx.ui.setWidgetValue
Script IR nodeshost.ui.close_panel, host.ui.open_panel, host.ui.set_widget_value
Runtime systems19:runtime.uiBindingWriteSystem, 19:runtime.uiEventSystem
ReplicationNone
PredictionNone
Lag compensationNone
Anti-cheatNone
Expected side effectsprojection_changed:RuntimeUiProjection:within_tick, host_call_made:UI.setWidgetValue:within_tick
Test scenariosui.hosts.buffer_ops

persistence.v1

Warehouse host functions with deterministic prefetch and post-script draining.

SurfaceCurrent declarations
Statusimplemented
ComponentsNone
SDK hostsctx.warehouse.append, ctx.warehouse.create, ctx.warehouse.delete, ctx.warehouse.get, ctx.warehouse.increment, ctx.warehouse.query, ctx.warehouse.set, ctx.warehouse.transform, ctx.warehouse.update
Script IR nodeshost.warehouse.append, host.warehouse.create, host.warehouse.delete, host.warehouse.get, host.warehouse.increment, host.warehouse.query, host.warehouse.set, host.warehouse.transform, host.warehouse.update
Runtime systems26:runtime.ownedInstancePersistenceSystem
ReplicationNone
PredictionNone
Lag compensationNone
Anti-cheatpersistence.prefetch_only:reject, persistence.drain_audit:reject
Expected side effectshost_call_made:Warehouse.update:within_tick
Test scenariospersistence.prefetch_required

match.v1

Room, match, lifecycle phase, ready-check, and authoritative match transition primitives.

SurfaceCurrent declarations
Statusimplemented
ComponentsNone
SDK hostsctx.match.addScore, ctx.match.getScore, ctx.match.getState, ctx.match.patchObjective, ctx.match.setPhase, ctx.room.getPlayers, ctx.room.getState
Script IR nodeshost.match.add_score, host.match.get_score, host.match.get_state, host.match.patch_objective, host.match.set_phase, host.room.get_players, host.room.get_state
Runtime systems150:runtime.lifecycleSystem
ReplicationNone
PredictionNone
Lag compensationNone
Anti-cheatNone
Expected side effectsprojection_changed:RuntimeMatchLifecycleState:within_tick
Test scenariosmatch.phase_transition

lifecycle.v1

Player joined, player left, and match ended script lifecycle events.

SurfaceCurrent declarations
Statusimplemented
ComponentsNone
SDK hostsNone
Script IR nodesevent.match_ended, event.player_joined, event.player_left
Runtime systems19:runtime.possessionCommandSystem, 20:runtime.purchaseFulfillmentCommandSystem, 21:runtime.scriptSystem
ReplicationNone
PredictionNone
Lag compensationNone
Anti-cheatNone
Expected side effectsevent_emitted:player.joined:within_tick, event_emitted:player.left:within_tick, event_emitted:match.ended:within_tick
Test scenarioslifecycle.player_match_events

team.v1

Team assignment and multiplayer team policy primitives.

SurfaceCurrent declarations
Statusimplemented
ComponentsNone
SDK hostsctx.team.getAssignment
Script IR nodeshost.team.get_assignment
Runtime systemsNone
ReplicationNone
PredictionNone
Lag compensationNone
Anti-cheatNone
Expected side effectsprojection_changed:RuntimeTeamAssignment:within_tick
Test scenariosteam.assignment_read

objective.v1

Warehouse-backed gameplay state conventions and match/team projections.

SurfaceCurrent declarations
Statusimplemented
ComponentsNone
SDK hostsNone
Script IR nodesNone
Runtime systemsNone
ReplicationNone
PredictionNone
Lag compensationNone
Anti-cheatNone
Expected side effectsprojection_changed:warehouse-backed gameplay state:within_tick
Test scenariosobjective.compatibility_migrated_to_warehouse

rendering.v1

Renderer component atomics for renderables, animation state, lights, terrain, water, reflection probes, decals, particles, text, and material override components.

SurfaceCurrent declarations
Statusimplemented
ComponentsRenderableComponent, SpatialCaptureComponent, MaterialInstanceOverrideComponent, AnimationStateComponent, LightComponent, TerrainComponent, WaterComponent, ReflectionProbeComponent, LocalEnvironmentVolumeComponent, DecalComponent, HairComponent, ParticleEmitterComponent, TextRenderableComponent, HighlightComponent
SDK hostsctx.terrain.heightAt, ctx.terrain.normalAt, ctx.terrain.raycastDown, ctx.terrain.sampleLayerWeights, ctx.terrain.slopeAt, ctx.water.isSubmerged, ctx.water.surfaceLevelAt
Script IR nodeshost.terrain.height_at, host.terrain.normal_at, host.terrain.raycast_down, host.terrain.sample_layer_weights, host.terrain.slope_at, host.water.is_submerged, host.water.surface_level_at
Runtime systemsNone
ReplicationAnimationStateComponent->public/low, DecalComponent->public/low, HairComponent->public/low, HighlightComponent->public/low, LightComponent->public/low, LocalEnvironmentVolumeComponent->public/low, MaterialInstanceOverrideComponent->public/low, ParticleEmitterComponent->public/low, ReflectionProbeComponent->public/low, RenderableComponent->public/low, SpatialCaptureComponent->public/low, TerrainComponent->public/low, TextRenderableComponent->public/low, WaterComponent->public/low
PredictionNone
Lag compensationNone
Anti-cheatNone
Expected side effectsprojection_changed:RenderableComponent:within_tick, projection_changed:SpatialCaptureComponent:within_tick, component_patched:AnimationStateComponent:within_tick
Test scenariosrendering.component_schema

world.v1

Read-only world query through the canonical World.find filter atom and the paged World.query keyset-cursor atom.

SurfaceCurrent declarations
Statusimplemented
ComponentsNavAgentComponent
SDK hostsctx.navigation.findPath, ctx.navigation.isReachable, ctx.navigation.nearestPoint, ctx.navigation.raycast, ctx.navigation.steerToward, ctx.world.find, ctx.world.query
Script IR nodeshost.navigation.find_path, host.navigation.is_reachable, host.navigation.nearest_point, host.navigation.raycast, host.navigation.steer_toward, host.world.find, host.world.query
Runtime systemsNone
ReplicationNavAgentComponent->public/medium
PredictionNone
Lag compensationNone
Anti-cheatNone
Expected side effectshost_call_made:World.find:within_tick
Test scenariosworld.query_snapshot

worlds.v1

World teleport handoff issuance backed by Warehouse and target-room admission.

SurfaceCurrent declarations
Statusimplemented
ComponentsNone
SDK hostsctx.world.teleportPlayer
Script IR nodeshost.world.teleport_player
Runtime systems22:runtime.scriptSystem
ReplicationNone
PredictionNone
Lag compensationNone
Anti-cheatworlds.teleport_authority:reject
Expected side effectswarehouse_write:warehouse_teleport_handoffs:within_tick
Test scenariosworlds.teleport_handoff

prefabs.v1

Project graph prefab schema, instantiation, overrides, nested prefab resolution, and provenance.

SurfaceCurrent declarations
Statusimplemented
ComponentsNone
SDK hostsctx.world.spawn, ctx.world.spawnPrefab
Script IR nodeshost.world.spawn, host.world.spawn_prefab
Runtime systems23:runtime.scriptSystem
ReplicationTransformComponent->public/high
PredictionNone
Lag compensationNone
Anti-cheatprefabs.parent_first:reject
Expected side effectsstate_patch_emitted:entity.spawn:within_tick
Test scenariosprefabs.instantiate_with_overrides

platform.v1

Browser-mediated pointer lock and fullscreen request/exit atomics.

SurfaceCurrent declarations
Statusimplemented
ComponentsNone
SDK hostsctx.platform.exitFullscreen, ctx.platform.exitPointerLock, ctx.platform.requestFullscreen, ctx.platform.requestPointerLock
Script IR nodeshost.platform.exit_fullscreen, host.platform.exit_pointer_lock, host.platform.request_fullscreen, host.platform.request_pointer_lock
Runtime systemsNone
ReplicationNone
PredictionNone
Lag compensationNone
Anti-cheatplatform.user_gesture:reject
Expected side effectshost_call_made:Platform.requestPointerLock:within_tick
Test scenariosplatform.requests_buffer

network.v1

Engine-dispatched network.message script event handling.

SurfaceCurrent declarations
Statusimplemented
ComponentsNetworkProfileComponent
SDK hostsctx.network.sendMessage
Script IR nodesevent.network_message, host.network.send_message
Runtime systemsNone
ReplicationNetworkProfileComponent->public/high
PredictionNone
Lag compensationNone
Anti-cheatnetwork.channel_allowlist:reject, network.rate_limit:reject
Expected side effectsevent_emitted:network.message:within_tick
Test scenariosnetwork.event_dispatch

character.v1

Player and roster script hosts: read the live Player roster and possess, release, spawn, or eliminate a seat's Character through the one possession writer. Reach for it when a room script decides who controls which body.

SurfaceCurrent declarations
Statusimplemented
ComponentsNone
SDK hostsctx.players.eliminate, ctx.players.get, ctx.players.list, ctx.players.possess, ctx.players.release, ctx.players.spawnCharacter
Script IR nodeshost.player.eliminate, host.player.possess, host.player.release, host.player.spawn_character, host.players.get, host.players.list
Runtime systemsNone
ReplicationNone
PredictionNone
Lag compensationNone
Anti-cheatNone
Expected side effectsstate_patch_emitted:player.possession_request:within_tick, event_emitted:character.spawned:within_tick, event_emitted:character.removed:within_tick
Test scenarioscharacter.possession_hosts

ownership.v1

The Entity.setOwner script host that writes or clears the Profile that owns a thing, journaled and Room Script host only. Reach for it when a game hands a base, pet, or item to a Player as durable property.

SurfaceCurrent declarations
Statusimplemented
ComponentsNone
SDK hostsctx.entity.setOwner, ctx.world.entityHasTag, ctx.world.setEntityOwner, ctx.world.setEntityTag
Script IR nodeshost.entity.set_owner, host.world.entity_has_tag, host.world.set_entity_owner, host.world.set_entity_tag
Runtime systemsNone
ReplicationNone
PredictionNone
Lag compensationNone
Anti-cheatNone
Expected side effectsstate_patch_emitted:entity.owner_set:within_tick, state_patch_emitted:entity.tag_add:within_tick
Test scenariosownership.owner_set

commerce.v1

Commerce and inventory script hosts: prompt a purchase, read an entitlement, and grant an item through the durable authority outbox. Reach for it when a room script sells an offer or awards an item outside a purchase.

SurfaceCurrent declarations
Statusimplemented
ComponentsNone
SDK hostsctx.commerce.owns, ctx.commerce.promptPurchase, ctx.inventory.grant
Script IR nodeshost.commerce.owns, host.commerce.prompt_purchase, host.inventory.grant
Runtime systemsNone
ReplicationNone
PredictionNone
Lag compensationNone
Anti-cheatNone
Expected side effectsstate_patch_emitted:commerce.prompt_request:within_tick, state_patch_emitted:inventory.grant_request:within_tick
Test scenarioscommerce.host_ops
Was this helpful?Report an issueContact support

On this page