ColliderComponent
Defined in: physics/src/ColliderComponent.ts:39
Wraps a Rapier collider. Attach after RigidBodyComponent.
Component ordering: Transform → RigidBodyComponent → ColliderComponent.
Extends
Section titled “Extends”Component
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new ColliderComponent(
config):ColliderComponent
Defined in: physics/src/ColliderComponent.ts:78
Parameters
Section titled “Parameters”config
Section titled “config”Returns
Section titled “Returns”ColliderComponent
Overrides
Section titled “Overrides”Component.constructor
Properties
Section titled “Properties”_colliderHandle
Section titled “_colliderHandle”_colliderHandle:
number=-1
Defined in: physics/src/ColliderComponent.ts:47
Internal
Rapier collider handle, set during onAdd.
_contactFilter
Section titled “_contactFilter”_contactFilter:
ContactFilter|null=null
Defined in: physics/src/ColliderComponent.ts:50
Internal
Active contact filter, read by PhysicsWorld’s pair hook.
_oneWayLanded
Section titled “_oneWayLanded”_oneWayLanded:
Set<number> |null=null
Defined in: physics/src/ColliderComponent.ts:61
Internal
Collider handles of riders whose contact with this one-way
platform has started and not yet ended. While a rider is in here the
platform stays solid for it regardless of the position rule — a deep
first-impact penetration must not flip an established landing back to
passable while the solver is still pushing the rider out. Maintained by
PhysicsWorld from collision start/end events and collider removal;
null unless the collider is configured oneWay.
config
Section titled “config”
readonlyconfig:ColliderConfig
Defined in: physics/src/ColliderComponent.ts:44
Collider configuration (shape, sensor, etc.).
entity
Section titled “entity”entity:
Entity
Defined in: core/dist/index.d.ts:2716
Back-reference to the owning entity. Set by the engine when the component is added to an entity. Do not set manually.
Inherited from
Section titled “Inherited from”Component.entity
restorePriority
Section titled “restorePriority”
staticrestorePriority:number=20
Defined in: physics/src/ColliderComponent.ts:41
Snapshot restore order. On load, an entity’s components are re-added in
ascending priority, so a component whose onAdd() reads a sibling can
rely on lower-priority siblings being present and initialized.
Undeclared = 100. Engine components reserve 0-99; game and addon
components declare a value only when a sibling onAdd() dependency
requires it. Equal priorities restore in save-time add order.
Subclasses inherit their base class’s priority unless they declare
their own.
Overrides
Section titled “Overrides”Component.restorePriority
updatePriority?
Section titled “updatePriority?”
staticoptionalupdatePriority?:number
Defined in: core/dist/index.d.ts:2889
Class-level default for updatePriority: every instance runs at
this priority unless its own updatePriority is written. Undeclared = 0.
Subclasses inherit their base class’s value unless they declare their
own. Declare it on a component whose behavior depends on running after
(or before) a sibling, so the entity that adds it does not have to
control the add order.
class BoundsClamp extends Component { static updatePriority = 10; // after the follow that moves the camera}Inherited from
Section titled “Inherited from”Component.updatePriority
Accessors
Section titled “Accessors”_oneWayFilterActive
Section titled “_oneWayFilterActive”Get Signature
Section titled “Get Signature”get _oneWayFilterActive():
boolean
Defined in: physics/src/ColliderComponent.ts:94
Internal
True while the collider’s active filter is still the one
config.oneWay installed — the debug overlay draws one-way visuals
only then, so a custom filter set over the preset isn’t shown as
one-way.
Returns
Section titled “Returns”boolean
context
Section titled “context”Get Signature
Section titled “Get Signature”get context():
EngineContext
Defined in: core/dist/index.d.ts:2770
Access the EngineContext from the entity’s scene. Throws if the entity is not in a scene.
Returns
Section titled “Returns”EngineContext
Inherited from
Section titled “Inherited from”Component.context
effectiveEnabled
Section titled “effectiveEnabled”Get Signature
Section titled “Get Signature”get effectiveEnabled():
boolean
Defined in: core/dist/index.d.ts:2740
Whether the component is actually running: enabled, on an active
entity, and past onAdd. This is the state onEnable and
onDisable track — read it when a method has to behave one way
live and another way dormant.
Returns
Section titled “Returns”boolean
Inherited from
Section titled “Inherited from”Component.effectiveEnabled
enabled
Section titled “enabled”Get Signature
Section titled “Get Signature”get enabled():
boolean
Defined in: core/dist/index.d.ts:2732
Whether this component runs. Disabled components are skipped by ComponentUpdateSystem.
Writing this fires onEnable / onDisable when the
effective state changes — enabled && entity.isActive. A component
disabled here stays disabled through a setActive(false) /
setActive(true) cycle on its entity.
Returns
Section titled “Returns”boolean
Set Signature
Section titled “Set Signature”set enabled(
value):void
Defined in: core/dist/index.d.ts:2733
Parameters
Section titled “Parameters”boolean
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.enabled
isDroppingThrough
Section titled “isDroppingThrough”Get Signature
Section titled “Get Signature”get isDroppingThrough():
boolean
Defined in: physics/src/ColliderComponent.ts:326
True while a dropThrough window is active for this collider.
Returns
Section titled “Returns”boolean
Get Signature
Section titled “Get Signature”get scene():
Scene
Defined in: core/dist/index.d.ts:2765
Access the entity’s scene. Throws if the entity is not in a scene.
Prefer this over threading through this.entity.scene in component
code.
Returns
Section titled “Returns”Scene
Inherited from
Section titled “Inherited from”Component.scene
updatePriority
Section titled “updatePriority”Get Signature
Section titled “Get Signature”get updatePriority():
number
Defined in: core/dist/index.d.ts:2758
Where this component runs among its siblings. ComponentUpdateSystem
calls update / fixedUpdate on an entity’s components in ascending
priority; equal priorities run in add order. Undeclared = 0, so a
negative value runs before siblings that keep the default and a positive
value runs after them. Writable at any time, before or after add().
Defaults to the class’s static updatePriority.
class Player extends Entity { setup() { this.add(new Mover()); this.add(new Brain()).updatePriority = -1; // decides before Mover moves }}Returns
Section titled “Returns”number
Set Signature
Section titled “Set Signature”set updatePriority(
value):void
Defined in: core/dist/index.d.ts:2759
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.updatePriority
Methods
Section titled “Methods”_applyEnabled()
Section titled “_applyEnabled()”_applyEnabled(
effective):void
Defined in: core/dist/index.d.ts:2824
Internal
Force an effective-enabled transition, firing the hook on a flip. Used by
Entity for teardown, where enabled and the entity’s activeness both
still read true.
Parameters
Section titled “Parameters”effective
Section titled “effective”boolean
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component._applyEnabled
_dispatchCollision()
Section titled “_dispatchCollision()”_dispatchCollision(
event):void
Defined in: physics/src/ColliderComponent.ts:378
Internal
Called by PhysicsWorld during event dispatch.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”void
_dispatchTrigger()
Section titled “_dispatchTrigger()”_dispatchTrigger(
event):void
Defined in: physics/src/ColliderComponent.ts:389
Internal
Called by PhysicsWorld during event dispatch.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”void
_evaluateContactFilter()
Section titled “_evaluateContactFilter()”_evaluateContactFilter(
contact):boolean
Defined in: physics/src/ColliderComponent.ts:347
Internal
Run the contact filter for a candidate pair.
Deliberate exception to the report-and-rethrow rule for developer callbacks: this is called from inside Rapier’s WASM step, and a throw unwinding through WASM mid-step leaves the physics world in an undefined state. The error is caught, reported through the boundary, and the pair falls back to solid — the conservative default.
Reported once per installed filter, not per throw: the filter runs for
every candidate pair every step, and a persistently throwing one would
otherwise log at frame rate and evict everything else from the error
snapshot. setContactFilter re-arms the report.
Parameters
Section titled “Parameters”contact
Section titled “contact”Returns
Section titled “Returns”boolean
_refreshEnabled()
Section titled “_refreshEnabled()”_refreshEnabled():
void
Defined in: core/dist/index.d.ts:2817
Internal
Recompute effective enabled-ness from enabled and the entity’s
activeness, firing the hook on a flip.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component._refreshEnabled
_runCleanups()
Section titled “_runCleanups()”_runCleanups():
void
Defined in: core/dist/index.d.ts:2811
Internal
Run and clear all registered cleanups. Called by Entity.remove() and Entity._performDestroy() before onRemove/onDestroy.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component._runCleanups
addCleanup()
Section titled “addCleanup()”
protectedaddCleanup(fn):void
Defined in: core/dist/index.d.ts:2805
Register a cleanup function to run when this component is removed or destroyed.
Parameters
Section titled “Parameters”() => void
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.addCleanup
afterRestore()?
Section titled “afterRestore()?”
optionalafterRestore(data,resolve):void
Defined in: core/dist/index.d.ts:2893
Called after onAdd() during save/load restoration. Apply state that depends on onAdd() having run.
Parameters
Section titled “Parameters”unknown
resolve
Section titled “resolve”Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.afterRestore
dropThrough()
Section titled “dropThrough()”dropThrough(
seconds):void
Defined in: physics/src/ColliderComponent.ts:314
Let this body fall through one-way platforms for the next seconds
seconds of simulated time — the standard down-jump. Only this body is
affected; other bodies standing on the same platform stay supported.
When the window expires mid-platform, the body keeps falling until it
is clear and lands on the next solid side it reaches from above.
Callable before the component is added; the window then starts when the collider is created.
Parameters
Section titled “Parameters”seconds
Section titled “seconds”number
Returns
Section titled “Returns”void
fixedUpdate()?
Section titled “fixedUpdate()?”
optionalfixedUpdate(dt):void
Defined in: core/dist/index.d.ts:2863
Called every fixed timestep by the built-in ComponentUpdateSystem.
Parameters
Section titled “Parameters”number
Fixed timestep in seconds, scaled by scene and entity timeScale.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.fixedUpdate
getOverlapping()
Section titled “getOverlapping()”Call Signature
Section titled “Call Signature”getOverlapping<
T>(filter):Entity&T[]
Defined in: physics/src/ColliderComponent.ts:207
Return all entities whose colliders currently overlap this one, optionally filtered.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”filter
Section titled “filter”EntityFilter & object
Returns
Section titled “Returns”Entity & T[]
Call Signature
Section titled “Call Signature”getOverlapping(
filter?):Entity[]
Defined in: physics/src/ColliderComponent.ts:210
Return all entities whose colliders currently overlap this one, optionally filtered.
Parameters
Section titled “Parameters”filter?
Section titled “filter?”EntityFilter
Returns
Section titled “Returns”Entity[]
getOverlappingComponents()
Section titled “getOverlappingComponents()”getOverlappingComponents<
C>(cls):C[]
Defined in: physics/src/ColliderComponent.ts:217
Return components of type C from all overlapping entities that have one.
Type Parameters
Section titled “Type Parameters”C extends Component
Parameters
Section titled “Parameters”ComponentClass<C>
Returns
Section titled “Returns”C[]
listen()
Section titled “listen()”
protectedlisten<T>(entity,token,handler):void
Defined in: core/dist/index.d.ts:2797
Subscribe to events on any entity, auto-unsubscribe on removal.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”entity
Section titled “entity”Entity
EventToken<T>
handler
Section titled “handler”(data) => void
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.listen
listenScene()
Section titled “listenScene()”
protectedlistenScene<T>(token,handler):void
Defined in: core/dist/index.d.ts:2803
Subscribe to scene-level events, auto-unsubscribe on removal. Handlers
fire for bubbled entity events (entity = source) and scene.emit
events (entity = undefined).
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”EventToken<T>
handler
Section titled “handler”(data, entity?) => void
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.listenScene
onAdd()
Section titled “onAdd()”onAdd():
void
Defined in: physics/src/ColliderComponent.ts:100
Called when the component is added to an entity. Validate dependencies
here — a service, a sibling component, a render layer — and throw when
one is missing. The throw is attributed to this component, recorded in
Inspector.getErrors().callbackErrors, and rethrown, so it reaches the
caller of entity.add() unchanged.
Returns
Section titled “Returns”void
Overrides
Section titled “Overrides”Component.onAdd
onCollision()
Section titled “onCollision()”onCollision(
handler): () =>void
Defined in: physics/src/ColliderComponent.ts:167
Subscribe to collision events. Returns an unsubscribe function.
Parameters
Section titled “Parameters”handler
Section titled “handler”(e) => void
Returns
Section titled “Returns”() => void
onDestroy()
Section titled “onDestroy()”onDestroy():
void
Defined in: physics/src/ColliderComponent.ts:157
Called when the component is destroyed (entity destroyed or component removed).
Returns
Section titled “Returns”void
Overrides
Section titled “Overrides”Component.onDestroy
onDisable()
Section titled “onDisable()”onDisable():
void
Defined in: physics/src/ColliderComponent.ts:140
Take the collider out of the simulation, keeping its Rapier allocation.
Rapier does not re-emit a collision-start for a collider disabled and
re-enabled while still overlapping something — a reused entity dropped
onto an existing contact gets no onCollision for it.
Returns
Section titled “Returns”void
Overrides
Section titled “Overrides”Component.onDisable
onEnable()
Section titled “onEnable()”onEnable():
void
Defined in: physics/src/ColliderComponent.ts:153
Called when the component becomes effectively enabled — enabled is
true and the entity is active. Fires right after onAdd() for a
component added to an active entity, and again on every later flip.
Bring live resources back online here (unpause a sound, show a display
object, re-enable a physics body). Game-state reset does not belong here:
the hook sees whatever state the component held while dormant.
Returns
Section titled “Returns”void
Overrides
Section titled “Overrides”Component.onEnable
onRemove()?
Section titled “onRemove()?”
optionalonRemove():void
Defined in: core/dist/index.d.ts:2851
Called when the component is removed from an entity.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.onRemove
onTrigger()
Section titled “onTrigger()”onTrigger(
handler): () =>void
Defined in: physics/src/ColliderComponent.ts:177
Subscribe to trigger events (sensor). Returns an unsubscribe function.
Parameters
Section titled “Parameters”handler
Section titled “handler”(e) => void
Returns
Section titled “Returns”() => void
serialize()
Section titled “serialize()”serialize():
ColliderData
Defined in: physics/src/ColliderComponent.ts:366
Serialize the component into a plain data object.
Returns
Section titled “Returns”Overrides
Section titled “Overrides”Component.serialize
service()
Section titled “service()”
protectedservice<T>(key):T
Defined in: core/dist/index.d.ts:2787
Lazy proxy-based service resolution. Can be used at field-declaration time:
readonly input = this.service(InputManagerKey);The actual resolution is deferred until first property access.
Type Parameters
Section titled “Type Parameters”T extends object
Parameters
Section titled “Parameters”ServiceKey<T>
Returns
Section titled “Returns”T
Inherited from
Section titled “Inherited from”Component.service
setContactFilter()
Section titled “setContactFilter()”setContactFilter(
filter):void
Defined in: physics/src/ColliderComponent.ts:294
Set (or clear, with null) this collider’s contact filter — a per-pair
veto that decides each physics step whether a candidate contact with
another collider is solid (true) or passes through (false). Replaces
the built-in filter a oneWay config installed. Callable before the
component is added — the filter is armed at collider creation.
The filter runs inside the physics step, so no contact normal exists
yet; the ContactCandidate exposes the two sides’ positions and
velocities instead. The candidate is a single reused instance — read
what you need inside the filter and copy it; a stored reference shows
other pairs’ values after the call returns. A filter that throws is
reported through the error boundary once (per installed filter) and
the pair stays solid.
Filters are functions and are not serialized: after a save/load, a
collider configured with oneWay gets its built-in filter back, and a
custom filter must be reinstalled by the game.
Parameters
Section titled “Parameters”filter
Section titled “filter”ContactFilter | null
Returns
Section titled “Returns”void
setSensor()
Section titled “setSensor()”setSensor(
sensor):void
Defined in: physics/src/ColliderComponent.ts:228
Set whether this collider is a sensor. Callable before the component is added — the updated config is applied at collider creation.
Parameters
Section titled “Parameters”sensor
Section titled “sensor”boolean
Returns
Section titled “Returns”void
setShape()
Section titled “setShape()”setShape(
shape,options?):void
Defined in: physics/src/ColliderComponent.ts:264
Replace the collider’s shape in place, in pixels like the rest of
ColliderConfig. The Rapier collider, its body attachment, and every
onCollision/onTrigger subscription survive the swap, so a crouch or
slide can shrink the collider and restore it without removing and
re-adding the component.
The body keeps the mass it already had. A collider is a collision proxy,
not a measure of how much matter is there, so a character that crouches
takes the same knockback from applyImpulse as one standing up. Pass
recomputeMass: true when the new shape means genuinely more or less
matter, and the body’s mass should come back from density × the new
shape.
Shrinking never pushes anything out of the way, and growing can leave the
collider overlapping geometry it clears at the smaller size. Check
clearance (PhysicsWorld.queryShape at the target size) before growing
back.
Callable before the component is added — the updated config is applied at collider creation. A pre-add call cannot recompute mass: the body takes its mass from the new shape at creation anyway.
Parameters
Section titled “Parameters”options?
Section titled “options?”recomputeMass?
Section titled “recomputeMass?”boolean
Returns
Section titled “Returns”void
sibling()
Section titled “sibling()”
protectedsibling<C>(cls):C
Defined in: core/dist/index.d.ts:2795
Lazy proxy-based sibling component resolution. Can be used at field-declaration time:
readonly anim = this.sibling(AnimatedSpriteComponent);The actual resolution is deferred until first property access.
Type Parameters
Section titled “Type Parameters”C extends Component
Parameters
Section titled “Parameters”ComponentClass<C>
Returns
Section titled “Returns”C
Inherited from
Section titled “Inherited from”Component.sibling
update()?
Section titled “update()?”
optionalupdate(dt):void
Defined in: core/dist/index.d.ts:2858
Called every frame by the built-in ComponentUpdateSystem.
Parameters
Section titled “Parameters”number
Frame delta in seconds, scaled by scene and entity timeScale.
Returns
Section titled “Returns”void
Inherited from
Section titled “Inherited from”Component.update
protecteduse<T>(key):T
Defined in: core/dist/index.d.ts:2778
Resolve a service by key, cached after first lookup. Scene-scoped values
(registered via scene._registerScoped) take precedence over engine
scope. A key declared with scope: "scene" that falls back to engine
scope emits a one-shot dev warning — almost always signals a missed
beforeEnter hook.
Type Parameters
Section titled “Type Parameters”T
Parameters
Section titled “Parameters”ServiceKey<T>
Returns
Section titled “Returns”T
Inherited from
Section titled “Inherited from”Component.use
fromSnapshot()
Section titled “fromSnapshot()”
staticfromSnapshot(data):ColliderComponent
Defined in: physics/src/ColliderComponent.ts:371
Create a ColliderComponent from a serialized snapshot.
Parameters
Section titled “Parameters”Returns
Section titled “Returns”ColliderComponent