Prowl’sDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/ProwlEngine/Prowl/llms.txt
Use this file to discover all available pages before exploring further.
Time class provides every timing value a game or engine subsystem could need. It is a thin static façade over a stack of TimeData objects — Time.TimeStack — allowing different engine contexts (e.g., editor playmode vs. a paused-game sub-simulation) to maintain their own independent clocks by pushing and popping TimeData instances. In normal gameplay only one TimeData lives on the stack: the main game clock, which is updated once per frame by the engine loop. All properties delegate directly to Time.CurrentTime, the topmost entry on the stack.
TimeData Stack
The full stack of active time contexts. Push a new
TimeData instance to begin an independent timing context; pop it to return to the previous one.Returns
TimeStack.Peek() — the active timing context. All static Time.* properties read from this object.Frame Delta
deltaTime
timeScale. Use this for most gameplay movement and physics code.
deltaTimeF
(float)deltaTime — a single-precision convenience property for APIs that require float.
unscaledDeltaTime
timeScale. Use this for UI animations, timers, or anything that should continue running when the game is paused (timeScale = 0).
Accumulated Time
time
TimeData was reset). Equivalent to the sum of all deltaTime values.
unscaledTotalTime
timeScale.
Fixed Timestep
fixedDeltaTime
1.0 / PhysicsSetting.Instance.TargetFrameRate. This property reads PhysicsSetting directly; it does not vary frame-to-frame. The default TargetFrameRate is 50, yielding fixedDeltaTime ≈ 0.02.
fixedDeltaTime is not stored in TimeData. It is derived from PhysicsSetting each time it is accessed.Frame Count
frameCount
TimeData was created. Incremented by one at the start of each TimeData.Update() call.
Time Scale
timeScale
1.0. Set to 0 to pause the game; set to 2 for slow-motion in reverse. Does not affect unscaledDeltaTime or unscaledTotalTime.
timeScaleF
timeScale. Getting returns (float)timeScale; setting assigns to timeScale.
Smoothed Delta
smoothDeltaTime
deltaTime. Useful for displaying frame rate or for physics/animation that should ignore single-frame spikes. Computed as:
smoothUnscaledDeltaTime
smoothDeltaTime.
timeSmoothFactor
(0, 1]. Default: 0.25. Higher values react faster to frame-rate changes; lower values produce a more stable smooth average.
TimeData Class
TimeData is the mutable, per-context timing record updated by the engine loop.
Update() reads from an internal Stopwatch, increments frameCount, applies timeScale, and recalculates the EMA. It is called once per engine frame tick.
Reference Summary
| Property | Type | Scaled? | Description |
|---|---|---|---|
deltaTime | double | ✅ | Seconds since last frame |
deltaTimeF | float | ✅ | float cast of deltaTime |
unscaledDeltaTime | double | ❌ | Raw seconds since last frame |
time | double | ✅ | Total elapsed time |
unscaledTotalTime | double | ❌ | Total unscaled elapsed time |
fixedDeltaTime | double | — | 1 / TargetFrameRate (physics step) |
frameCount | long | — | Frames since context start |
timeScale | double | — | Playback speed multiplier |
smoothDeltaTime | double | ✅ | EMA-smoothed delta time |
smoothUnscaledDeltaTime | double | ❌ | EMA-smoothed unscaled delta |
timeSmoothFactor | double | — | EMA blend coefficient |