On my game, I was trying to make hoverboards use constraints instead of bodymovers, which I have been using up until now. Everything was fine until I replaced BodyVelocity with VectorForce and ran into a problem: VectorForce is not constant. I looked around the DevForum for a solution, and found a complex solution using physics equations like f=ma. These equations work, but are unnecessarily complicated and frustrating to use.
People are still using BodyVelocity including myself because there is no PGS equivalent to it. In addition to BodyMovers getting less support as time goes on, BodyVelocity has it’s own issues as well. This issue can be fixed by just making a PGS constraint that applies velocity instead of acceleration over time.
Any update on this? I only found this post a year ago:
I have a game that won’t be using “realistic” physics so it feels a bit overkill to use VectorForce instead. I just want something to move with a constant speed and have no need for acceleration.
It’s been 5 months and I haven’t seen anything that can replace the ease of use of BodyVelocity, nor is there anything on the roadmap. Has this been pushed back?
In the meantime a script-based solution would be to connect to RunService.Heartbeat and set BasePart.Velocity to the desired velocity. Heartbeat is always run after physics so it will give you 100% accurate results.
We just released LinearVelocity (under the Constraint tab). This with AngularVelocity should be a complete attachment based replacement for BodyVelocity. The api documentation should be available shortly.