Can you post your scripts for basic movement and jumping using code tags ? Can you describe the ideas you had for your previous attempts to make the dash work?
It’s more than doable. Here are the major logical points:
-Movement on the ground is based on directional input when character is not dashing. Movement on the ground is based on a fixed speed (movement direction still determined by directional input) when character is dashing
-Movement while jumping is determined by gravity and directional input. Movement while dash jumping is the same, with greater speeds applied due to directional input
-If the character is on the ground and the player presses the Dash button, the character is now dashing. If the character is on the ground and the player releases the Dash button, the character is now not dashing
-If the character is on the ground and is dashing, add to a timer. If the timer exceeds the allowed dash time, the character is now NOT dashing. If the character is not dashing, reset the timer to 0
-If the character is on the ground and is dashing and the player presses the Jump button, the character is now dash jumping. If the character is dash jumping and then lands on the ground, the character is now not dash jumping
Hopefully you can see that the key to this method is to define the behaviors as you need them to be based on the control state of the character. After that, make the player controls change the state of the character in appropriate ways, and watch as everything falls into place.