Making dash go the same distance no matter if on ground or not

I have made a functioning dash script but I have an issue, dashing in the air makes the player go further than dashing on the ground, I know this is because of friction or whatever but how do I fix this?

I’ve messed around with linearvelocity and bodyposition but they all have their weird issues, and I’ve looked at multiple posts yet none of them had good examples on this topic and most of them suggested bodyposition which is deprecated so I’m scared to touch it.

This is the part of the code which makes the character go in the direction they are moving when a key is pressed:

local humd = char.Humanoid.MoveDirection

local dashvelo = Instance.new("BodyVelocity")
dashvelo.MaxForce = Vector3.new(1, 0, 1) * 15000
dashvelo.Parent = char.HumanoidRootPart
dashvelo.Velocity = humd * 50

game.Debris:AddItem(dashvelo, 0.2)

What it looks like at the moment:
f1eda2df00d0edaa0d537344af5822db

How do I make it go the same distance no matter if the player is in the air or on the ground?

Use :ApplyImpulse instead for a single instantaneous force. BodyMovers will apply a continuous force which isn’t what you want