Time Effects
Registered shortcuts: freeze_frame, time_scale.
Freeze Frame (GFFFreezeFrame)
Brief global hit-stop. It does not pause a single node.
What it actually does
- Pushes
0.0ontoGFFTimeScaleManager→ setsEngine.time_scale = 0. - Waits
durationon a tween withset_ignore_time_scale(true)so the freeze can end. - Pops the stack and restores the previous time scale.
Anything driven by scaled delta (_process, most gameplay tweens, physics with scaled time) freezes. Editor/showcase chrome that ignores time scale can keep updating.
# Global — target node is ignored for the freeze itself
GameFeelFlow.play("freeze_frame", self, {"duration": 0.08})
# or
GFUtil.freeze(0.08)
Showcase pattern
The Free showcase time shot moves the subject with an independent sine script (GFFShowcaseSineMover), then calls freeze_frame. Freeze only zeros scaled time; it does not own the motion.
Affects the whole game
Prefer short durations (often 30–80 ms for hits). Long freezes stall everything that respects Engine.time_scale.
Time Scale (GFFTimeScale)
Temporarily changes Engine.time_scale through the same stack (slow-mo, speed-up), then restores.
