Show Deprecated

A UniversalConstraint ensures two axes on two bodies remain perpendicular. Contextually, this constraint is more restrictive than a BallSocketConstraint but less restrictive than a HingeConstraint by one degree of freedom.

Example applications of this constraint include transmitting power between the transmission and drive shafts of cars, robotics, and more.

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


Enabling the LimitsEnabled property exposes the MaxAngle limit to restrict tilt within a cone, as well as Restitution which defines the elasticity of the attachments when they reach the limit.



  • read parallel

    Determines whether the angular motion of attachments' primary axes is limited.

  • read parallel

    The max angle, in degrees, of the constraint's limiting cone.

  • read parallel

    The constraint's visualization radius.

  • read parallel

    The restitution coefficient of the cone constraint.

Properties inherited from Constraint



read parallel

This property, when enabled, limits the relative angular motion of the primary axes of attachments through a cone constraint. The default value is false.


read parallel

This property determines the max angle, in degrees, of the constraint's limiting cone, formed from Attachment0 and its primary axis. The default value is 45 degrees.

In order for this property to take affect, the constraint's LimitsEnabled property must be set to true.


read parallel

This property indicates the constraint's visualization radius, in studs. Default value is 0.2.


read parallel

This property determines the restitution of the two Attachments connected by the UniversalConstraint when they reach the end of the range specified by MaxAngle. The value defaults to 0 and can be any floating number in the range of 0 to 1. Only applies when LimitsEnabled is set to true.