Hello developers! I want to ask for tips, ideas, and suggestions for making a smooth and efficient “Dash” movement system in Roblox! I already have all the animations settled.
I don’t need other people’s systems, though I do need to know the best answer to this important question:
As the dash system needs to be smooth and efficient, what type of velocity should I use? What values can I put into it?
The dash will always be smooth and efficient as long as you made it in client side and use one of these 3 features, choosing one is entirely up to you. ApplyImpulse, BodyVelocity and LinearVelocity.
ApplyImpulse
It instantly push an object or a group of objects in the given direction more or less farther depending of the object(s) physic.
It could be considered as a bit more “realistic” than other options as it physically interact with environment, but the middle-dash movement and the dash time can’t be controlled.
BodyVelocity
It constantly move an object or a group of objects in the given direction.
It can be controlled, you can start, change direction and stop it however you want.
There is no physical interaction, so the object(s) will continue to go straight to the given direction no matter if it hurt another object or if there is no floor anymore (it float into the air) but it shouldn’t be a problem if it is a short 0.2s - 1s dash.
It is a deprecated feature, so it can stop working at any moment, it is no longer updated and all glitchs will never be fixed.
LinearVelocity
Work pretty much the same as BodyVelocity.
It is not deprecated, so it is actively updated and maintained.
It could eventualy be a bit harder to use than BodyVelocity and the result may be very slightly different.
A dash is something mostly physical, the character is pushed into the desired direction. Tweens make it move linearly to a selected end position which make it look really weird and can went into collision bugs, collision don’t stop the tween, it force the character trying to go through the collided object.
Thank you so much! Though yeah I think for me, out of the choices you’ve mentioned, I’d go for LinearVelocity ig, I want it more controlled either way since you mentioned some difficulties with ApplyImpulse.