Looking for an Actual explanation to an alternative to Part.Velocity due to its depreciation

Hey, after Part.Velocity got depreciated I’ve found it quite difficult to find a good explanation to an alternative outside of “look at roblox’s wiki for Assembly Linear Velocity” or something along those lines only to be met with their barely an explanation of it. So I’ve started my own post in hopes of getting at least some useful explanation to an alternative. In specific I’ve been trying to find a way to make a part get launched upwards but still come down afterwards, sorta like how you would get if you placed a large enough number into the Y vector of Velocity before it was depreciated.

Function wise setting a parts Velocity is similar to Assembly Linear Velocity. I agree the API isn’t enough ex: BasePart.AssemblyLinearVelocity since you also need to understand what an assembly is through the article Understanding Assemblies.

Also the announcement post are also important to understand why something is deprecated.

Announcement post

BasePart.Velocity and BasePart.RotVelocity are now deprecated (hidden from Properties window). There were multiple issues in their operation when dealing with a part and its assembly. For example, setting velocity on a part that isn’t a root part just doesn’t work, but it always reads the velocity of the specific part. The AssemblyLinearVelocity and AssemblyAngularVelocity properties, along with the new impulse functions, should provide all of the options necessary for setting specific velocities.

Should be the same:

part.Velocity = Vector3.new(0,500,0)
part.AssemblyLinearVelocity = Vector3.new(0,500,0)

The only behavior changes is when there are multiple parts connected together and roblox treats them as “One big part” or “Assembly”.

3 Likes

Thank you! This info helps a ton, wish I had found these sooner

1 Like