Tween based dash lag

Hey. I made a dash system that uses Tweens but it is laggy when seen from another client. The way it is structured is like this:
Detect input from local script → Check requirements, if met fire event to server → Adjust variables, fire tween event to all clients
How can I improve this further? How do I solve the lag at the end of each dash?
(https://gyazo.com/cd43bb909e574d3bf3f02e1dfb2dc6f0)

You can achieve the same effect with a body velocity and little to no lag/delay, wouldn’t recommend tweening a dash.

Body velocity doesn’t give me proper control though. I want to be able to control the distance + the time it takes to travel the distance directly.

Your character when obstacle/ 0.00001 gap appears: :hiking_boot::hiking_boot:
Roblox’s physics is already pretty stable to control distance/time it takes to revel.

I recommend using a LinearVelocity Instance on the Client with the VelocityConstraintMode property set to Vector if you don’t want the Character to fall, or set to Plane if you do want the Character to fall. From what I remember, the MaxForce property needs to be set to math.huge for this to work. You can then tween the VectorVelocity/PlaneVelocity appropriately on the Client. This will achieve your desired effect. Note that this dash is directly done on the Client to decrease input lag and increase smoothness. You can always add checks on the server later.