Scaled seconds since the previous frame (unscaledDelta * scale). This is
the value handed to Component.update as dt. Use for gameplay.
Real seconds since the previous frame, ignoring scale. Already clamped to a sane maximum to survive tab-switch / breakpoint stalls. Use for anything that must keep moving while paused.
Real seconds since engine start, ignoring scale. Mirrors
RenderContext.elapsedTime.
Total frames simulated since engine start (mirrors
RenderContext.frameCount).
Smoothed frames-per-second (mirrors RenderContext.fps).
Advance the clock by one frame. Called by the engine with the unscaled,
clamped frame delta before scene.update runs.
Real seconds since the previous frame (clamped).
Real seconds since engine start.
Total frames since engine start.
Smoothed frames-per-second.
Per-frame simulation clock, owned by a Scene and advanced once per frame by the Engine before the scene's update traversal runs.
Components reach it via Component.time (or
gameObject.scene.time), so behaviors can read absolute time, the frame counter, and FPS without those values being threaded throughupdate(dt). Thedtargument still passed to Component.update is exactly Time.delta, so the two never disagree.scale is the payoff over a bare delta argument: setting it to 0 pauses all gameplay that reads delta/elapsed, and values between 0 and 1 (or above) give slow-motion / fast-forward. Behaviors that must ignore pause (UI animation, free-look cameras) read the
unscaled*fields instead.