Unity 3D Playmaker - Animate Time + Scale Time for Impact
In this tutorial in Unity 3D Playmaker, I'll show how you can add dramatic impact to your game by animating time and scaling time. Scale Time is a great Action in Playmaker that will let you set the overall speed of the game. With Normal game speed being at a rate of 1, with time being a number yo
Slow motion on a dramatic beat — a death, a big hit, a near miss — is one of the cheapest ways to add weight to a game. The trick isn't setting Time.timeScale; it's animating it. This tutorial tweens the time scale down over two seconds on the player's death, with an on-screen readout so you can watch the value change.
The setup The robot character has a back-flying death animation in its Animator, plus a Death trigger with transitions into it from every other animation state. Each of those transitions uses the Death trigger as its condition, so the character can die from any state.
Step 1 — Build a time scale readout Before changing time scale, make it visible. Add a UI text element to display the current value. In an FSM, add a Get Time Info action set to retrieve Time Scale, storing it in a new float variable called Time Scale. Then add Convert Float To String, converting Time Scale into a new string variable called Time Scale Text. Set both actions to run Every Frame.
Step 2 — Push the value to the screen Add a Set Property action targeting your UI text object and pointing at the text string value. Set it to update Every Frame using Time Scale Text as the source. Press play and the readout tracks the time scale live. This kind of throwaway debug display is worth the two minutes — tuning a value you can't see is guesswork.
Step 3 — Add a death state In the character movement FSM, add a state called Death, entered when the space key is pressed. Inside it, add Set Animator Trigger and fire the Death trigger, which kicks off the death animation. Add an audio action to play the robot death clip alongside it.
Step 4 — Tween the time scale value Here's the core idea: time scale is just a float, and floats can be animated. Add a Tween Float action. Create a new variable called Time Scale Value, set the From value to 1 (normal speed), and set the To value to 0.1.
Don't go to zero. Zero stops time completely, which freezes everything including animations and any FSM waiting on real time — you want dramatic slow motion, not a hard pause. For reference: 1 is normal speed, 2 is double speed, 0.5 is half speed. At 0.1 the game crawls but keeps moving.
Step 5 — Choose the easing Easing is what separates a slowdown that feels intentional from one that feels like lag. Use Ease Out Quint rather than an ease-in: ease-out drops the value fast at the start and then settles gently, so the slowdown hits immediately on the death and then eases into its floor. An ease-in would begin gradually and feel like the game is stuttering. Set the duration to 2 seconds.
Step 6 — Feed the tween into Time Scale Add a Set Time Scale action and place it below the Tween Float action in the action list — order matters, since the tween has to produce a value before the time scale reads it. Instead of typing a hard-coded number, click Use Variable and select Time Scale Value, then check Every Frame so it re-reads the animated value each tick.
Press play and trigger the death. The character launches into its back-flip animation, the death sound plays, and the world eases down into slow motion over two seconds while the on-screen readout ticks from 1 toward 0.1.





