I started my game a few months ago and hit the wall called the dashing system. most of the options that I found suggest using root motion, speed-up, etc. But they weren’t good for me
after looking for some time I found a great solution here and used it as root for my own one, and now I want to share it with you.
Is it good? I don’t know.
Could it be helpful for someone? Maybe.
create some BPC(bloopring component). I called mine BPC_Dash_System
You should add it to your 3rd person controller in the end
These are my variables
(to get mash end character do this)
nothing special
and this is the dashing part (maybe the easiest part of this component). You just use a dashEndLoaction and set the world location
And here comes the fun part
You see the most important parts of this function are SummonCapsuleInPlace and FindSafeSpace
SummonCapsuleInPlace is an easy function. It checks if is there a location to stand on and can your character fit there.

but FindSafeSpace is a tricky one. he returns step by step from the endpoint until finds a safe landing zone

It summons a capsule on the previous step until finds a safe place or rich to the character and the most important part of it is getDeltaCord
getDeltaCord is the function that finds a previous step between 2 vectors based on your capsule radius

I hope this will help you
PS Sorry for all the typos and other inconveniences. this is my first post