Unity 3D + Playmaker - Runner Series - End Level Bonus Animation, FSM, and Particle Effects
In this tutorial, I'll use Unity and Playmaker and show how to create an end of level Bonus Area. This will include animating our stack, setting up the playmaker logic, and creating a simple confetti particle effect to bring it all together. This is a big one and lots to cover but once you set this
This Runner Series tutorial builds a celebratory level ending: the player crosses a finish line, the whole level stops, the character kicks its stack of donuts, the donuts fan out to bonus tiers based on how many were collected, and confetti bursts. It combines a finish trigger, broadcast stops, hand-built animations, donut-count logic, and a particle effect.
Build the finish line and stop the level
Make a ProBuilder plane with a checkered material as the finish line, duplicate it into ten colored bonus tiers (a rainbow), and label each with TextMesh Pro using an imported Bebas font. Add a box collider marked as a trigger and a finish line tag. In the game manager add a Level End FSM whose trigger event, on touching the finish line, sends an end level event. In End Level, broadcast a stop game event to every moving object. On each mover, add a Stop Level state set as a global transition with nothing in it, so the broadcast halts everything at once.
Animate the kick and donut fan-out
Check the player's flip animation frame rate and the moment of the kick, then create a donuts end clip at the same sample rate. Record the donut stack spreading out so each donut rises to its matching bonus tier on the Y axis and lands on the ground, leaving a little lead time at the start so it syncs with the character's kick. Add a trigger parameter named end in the animator to fire these clips, and make sure each is set to not loop.
Animate the bonus tiers
Create an idle level-end clip with no keyframes and a level end clip that activates the correct bonus tiers, then build a version for each possible ending from one to ten donuts, matching the same frames as the donut animation.
Drive it with donut-count logic and confetti
Reuse the collectibles FSM's donut-compare states in Level End, deleting unneeded finished transitions and visibility actions, and add an Animator Play action in each state to play the matching ending. Use Get FSM Variable to pull the donut count from collectibles so the compare can branch correctly. Finally, build a confetti particle system: random two-color squares, random sizes and speeds, random 0-to-360 start rotation, a burst around 200, a gravity modifier so pieces rise and fall, rate over time at zero, and a multiply material. Parent it to the player, leave it disabled, and activate it in End Level for a polished finish.





