Skip to content

Class: ParticleSystem2DSimulationSystem ​

Steps every ParticleSystem2DComponent once per rendered frame (smooth at any refresh rate, unlike the fixed-step Update phase), after TransformSystem so emitters see this frame's world transform. Runs in PreRender, so it's also what plays an effect in the editor's edit mode — but only for the entities under SetPreview's roots (Unity previews the selected effect).

The Engine hands it this frame's deltas (SetFrame): game-scaled while the game runs, nothing while paused (a Step runs one fixed step), real time for the editor preview.

It owns ParticleSystem2DComponent.dirty: a changed field may be a sub-emitter trigger, so the parent / child links are rebuilt then (and on reparenting).

Extends ​

Constructors ​

Constructor ​

ts
new ParticleSystem2DSimulationSystem(): ParticleSystem2DSimulationSystem;

Returns ​

ParticleSystem2DSimulationSystem

Inherited from ​

System.constructor

Properties ​

PropertyModifierTypeDefault valueInherited from
enabledpublicbooleantrueSystem.enabled
parallelpublicbooleanfalseSystem.parallel

Methods ​

GetName() ​

ts
GetName(): string;

Returns ​

string

Overrides ​

System.GetName


GetOrder() ​

ts
GetOrder(): SystemOrder;

Ordered: emitters read this frame's world transforms.

Returns ​

SystemOrder


GetPhase() ​

ts
GetPhase(): SystemPhase;

Returns ​

SystemPhase

Overrides ​

System.GetPhase


GetPreviewSpeed() ​

ts
GetPreviewSpeed(): number;

Returns ​

number


OnClose() ​

ts
OnClose(): void;

Returns ​

void

Inherited from ​

System.OnClose


OnInit() ​

ts
OnInit(_engine): void;

Parameters ​

ParameterType
_engineIEngine

Returns ​

void

Inherited from ​

System.OnInit


OnRender() ​

ts
OnRender(scene, _renderer): void;

Parameters ​

ParameterType
sceneScene
_rendererIRenderer

Returns ​

void

Overrides ​

System.OnRender


OnRendererChanged() ​

ts
OnRendererChanged(_renderer): void;

Parameters ​

ParameterType
_rendererIRenderer

Returns ​

void

Inherited from ​

System.OnRendererChanged


OnStart() ​

ts
OnStart(scene, _renderer): void;

Parameters ​

ParameterType
sceneScene
_rendererIRenderer

Returns ​

void

Overrides ​

System.OnStart


OnStop() ​

ts
OnStop(_scene): void;

Parameters ​

ParameterType
_sceneScene

Returns ​

void

Overrides ​

System.OnStop


OnUpdate() ​

ts
OnUpdate(_scene, _dt): void | Promise<void>;

Parameters ​

ParameterType
_sceneScene
_dtnumber

Returns ​

void | Promise<void>

Inherited from ​

System.OnUpdate


SetFrame() ​

ts
SetFrame(
   dt, 
   unscaledDt, 
   simulating
): void;

dt: game time this frame (time-scaled; 0 while paused). unscaledDt: real time, or one fixed step on a paused Step. simulating: the game runs (not the editor's edit mode).

Parameters ​

ParameterType
dtnumber
unscaledDtnumber
simulatingboolean

Returns ​

void


SetPreview() ​

ts
SetPreview(roots, speed?): void;

Edit mode: these entities' particle systems (and their descendants') play, at speed. Anything leaving the preview is cleared.

Parameters ​

ParameterTypeDefault value
rootsreadonly number[] | nullundefined
speednumber1

Returns ​

void

© 2026 PlayAdGentic