Show Deprecated

The AngularVelocity constraint applies torque on an assembly to maintain a constant angular velocity. Alternatively:

  • If you want to control the amount of torque applied, use a Torque constraint.
  • If you only need initial angular velocity, set the AssemblyAngularVelocity method directly on the assembly.

When configuring this constraint, it may be helpful to study Roblox Units to understand how Roblox units compare to metric units.


Application of velocity can be controlled through the constraint's RelativeTo property. If set to World, the angular velocity vector is used as is. If set to Attachment1 and the constraint's Attachment1 property is set to another attachment, the angular velocity will be affected by that of the other attachment. Setting RelativeTo to Attachment1 also exposes the ReactionTorqueEnabled property.



Properties inherited from Constraint



read parallel

A Vector3 that gives the desired or target angular velocity. This vector is set in the CFrame expressed by the RelativeTo property.


read parallel

Magnitude of the maximum torque the constraint can apply.


read parallel

This property, when enabled, causes the constraint to apply equal and opposite reaction forces. This is important if the two attached parts can collide, since without reaction forces collisions can create energy that would otherwise be disregarded.

When enabled, the reaction forces cause the constraint to act like an angular motor between the two attachments.

Only meaningful when RelativeTo is set to Attachment1.

read parallel

The CFrame in which the AngularVelocity force is specified. If set to World, the angular velocity vector is used as is. If set to Attachment1, the angular velocity is transformed by the CFrame of the assigned attachment.

RelativeTo can also be set to Attachment0, but it makes no physical sense and will lead to unpredictable behaviors.