Skip to content

EngineHooks

Defined in: packages/threeplay/src/core/types.ts:196

System-level hooks used by plugins. They are never cleared by go(). Plugins may add their own hooks through declaration merging.

afterFixedUpdate: [fixedDt: number]

Defined in: packages/threeplay/src/core/types.ts:206

After objects’ fixedUpdate (e.g. step the physics world).


afterUpdate: [dt: number]

Defined in: packages/threeplay/src/core/types.ts:210

After objects’ update (e.g. character controllers, then the camera).


beforeFixedUpdate: [fixedDt: number]

Defined in: packages/threeplay/src/core/types.ts:204

Before objects’ fixedUpdate (e.g. sync kinematic bodies).


beforeUpdate: [dt: number]

Defined in: packages/threeplay/src/core/types.ts:208

Before objects’ update.


debugInspect: [enabled: boolean]

Defined in: packages/threeplay/src/plugins/debug/types.ts:54

The inspector was turned on or off (physics draws colliders while on).


error: [err: unknown]

Defined in: packages/threeplay/src/core/types.ts:226

An uncaught error stopped the loop (the render plugin shows it on screen).


frameEnd: []

Defined in: packages/threeplay/src/core/types.ts:216

End of a frame (e.g. clear “pressed this frame” input).


frameStart: [dt: number]

Defined in: packages/threeplay/src/core/types.ts:202

Start of a frame, before any update.


init: []

Defined in: packages/threeplay/src/core/types.ts:198

All plugins installed.


lateUpdate: [dt: number]

Defined in: packages/threeplay/src/core/types.ts:212

After every afterUpdate: positions are final (e.g. follow(), rotation sync).


loaded: []

Defined in: packages/threeplay/src/core/types.ts:200

Every pending load() finished; the first scene can start.


objectAdd: [obj: GameObj<Record<string, any>>]

Defined in: packages/threeplay/src/core/types.ts:222

An object entered the tree (after its components’ add).


objectDestroy: [obj: GameObj<Record<string, any>>]

Defined in: packages/threeplay/src/core/types.ts:224

An object is being destroyed (before its node is detached).


render: [alpha: number]

Defined in: packages/threeplay/src/core/types.ts:214

Time to draw. alpha is the fraction of a fixed step left over.


sceneEnter: [name: string, args: unknown[]]

Defined in: packages/threeplay/src/core/types.ts:218

A scene is about to start.


sceneLeave: [name: string]

Defined in: packages/threeplay/src/core/types.ts:220

A scene is ending: its objects and listeners are about to be cleared.