Skip to content

Class: ScriptSystem ​

Drives the Script lifecycle in Unity's order: OnAttach (Awake) once the entity is first active and fully built; OnEnable / OnDisable the moment a script starts / stops running (enabled and the entity active in the hierarchy); OnStart before its first OnUpdate, once every pending OnEnable has run; OnUpdate every tick while running; OnDisable then OnDestroy on remove. Immediate paths: the script's enabled setter and Scene.OnActiveRefreshed (SetActive, reparenting, loads, spawns). Each tick also re-checks every script, for changes that bypass both (an active field written directly). Catches throws per hook so a misbehaving script doesn't take down its neighbours.

Extends ​

Implements ​

  • ScriptLifecycle

Constructors ​

Constructor ​

ts
new ScriptSystem(): ScriptSystem;

Returns ​

ScriptSystem

Inherited from ​

System.constructor

Properties ​

PropertyModifierTypeDefault valueInherited from
enabledpublicbooleantrueSystem.enabled
parallelpublicbooleanfalseSystem.parallel

Methods ​

GetName() ​

ts
GetName(): string;

Returns ​

string

Overrides ​

System.GetName


GetPhase() ​

ts
GetPhase(): SystemPhase;

Returns ​

SystemPhase

Overrides ​

System.GetPhase


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 | Promise<void>;

Parameters ​

ParameterType
_sceneScene
_rendererIRenderer

Returns ​

void | Promise<void>

Inherited from ​

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;

Every call into script code is timed as Scripts for the stats overlay (one section per pass or event, not per script).

Parameters ​

ParameterType
sceneScene
dtnumber

Returns ​

void

Overrides ​

System.OnUpdate


RefreshScript() ​

ts
RefreshScript(script): void;

A script's enabled changed — OnEnable / OnDisable now, unless mid-build (the load's own refresh covers it) or outside a run.

Parameters ​

ParameterType
scriptScript

Returns ​

void

Implementation of ​

ts
ScriptLifecycle.RefreshScript

RunFrame() ​

ts
RunFrame(dt): void;

OnFrameUpdate pass — the Engine calls it once per rendered frame while the game runs.

Parameters ​

ParameterType
dtnumber

Returns ​

void


RunLate() ​

ts
RunLate(dt): void;

OnLateUpdate pass — ScriptLateUpdateSystem calls it in PostUpdate, after every Update-phase system. Running state is this tick's, from OnUpdate's pass.

Parameters ​

ParameterType
dtnumber

Returns ​

void

© 2026 PlayAdGentic