Today I made a double power-up systems based on top of my last post, the player avatar system in Unity.
First, I fixed a couple bugs from last time, one which limited your jump distance due to having only 1 max air-glide velocity. It limited the distance you could travel no matter if you were running and jumping or regular jumping. Now, there are 2 independent max air-glide velocities, allowing 2 different jump distances based on if you were performing a regular or a running jump. The second bug was not falling down on a wall you were colliding with whilst trying to move. I solved this by applying a physics material with 0 friction.
Now for the new stuff! I created 2 power-ups, a speed boost and a double jump. They both work as you'd expect, with public variables to control the outputs, and prefabs to place them down infinitely.
I also added a whole bunch of particles, for general running, jumping and landing, as well as for each power-up.
The speed boost looks like a ball with lighting sparking out in all directions, and the double jump looks like a ball of gust spinning upwards. When consumed, there is a unique splash effect for each power-up.
Each power-up also has particle indications around the player to indicate if they are active or not, and particle effects for when the added abilities are used, when you double jump, and when you run.
Checkout the video below for a detailed look into the system, what it can do, the code behind it, and the changes to the animation system too!