I've tried various methods to make a dash ranging from changing the HRP velocity, using BodyVelocity, BodyForce, BodyPosition, and TweenService. However, all of these methods were not very successful as I wanted to make a dash that traveled the same distance each time a player dashes.
With BodyVelocity, BodyForce, and HRP velocity, my character had some sort of extra momentum when they jumped which is probably due to the fact that there was either friction on the ground (when they dashed on the ground) or the time the character was in the air increased the time of the horizontal velocity (because horizontal velocity is a constant in projectile motion and gravity needed to pull the character down), thus making the character go a little bit further.
With BodyPosition, the TargetReached event did not register most of the time (when placed into the HRP), so my character got stuck most of the time.
With TweenService, the distance of the dash was consistent. However whenever I jumped and dashed, my character was glitching up and down (on my screen) which is probably due to roblox's physics.
Here's a game with a dash that is very consistent and clean looking: https://www.roblox.com/games/2420120024/999x-EXP-One-Punch-Man-Awakening?refPageId=7febc1bf-55d3-4d8a-9c3e-8810ad2526fe
(Press W or A or S or D two times in a row to dash)
Does anyone have any suggestions?
