Reference API Roblox

Engine API

Website

Related

Reference API Roblox

UniversalConstraint

Ensures two axes on two bodies remain perpendicular.

Member index 4

HistoryMember
731LimitsEnabled: bool
731MaxAngle: float
731Radius: float
731Restitution: float
inherited from Constraint
731Active: bool
731Attachment0: Attachment
731Attachment1: Attachment
731Color: BrickColor
731Enabled: bool
731Visible: bool
604GetDebugAppliedForce(bodyId: int): Vector3
604GetDebugAppliedTorque(bodyId: int): Vector3
inherited from Instance
731Archivable: bool
731Capabilities: SecurityCapabilities
731IsInSandbox: bool
731Name: string
731Parent: Instance
731PredictionMode: PredictionMode
731Sandboxed: bool
731UniqueId: UniqueId
576AddTag(tag: string): null
573ClearAllChildren(): null
462Clone(): Instance
573Destroy(): null
486FindFirstAncestor(name: string): Instance
486FindFirstAncestorOfClass(className: string): Instance
486FindFirstAncestorWhichIsA(className: string): Instance
486FindFirstChild(name: string, recursive: bool = false): Instance
486FindFirstChildOfClass(className: string): Instance
486FindFirstChildWhichIsA(className: string, recursive: bool = false): Instance
486FindFirstDescendant(name: string): Instance
563GetActor(): Actor
486GetAttribute(attribute: string): Variant
462GetAttributeChangedSignal(attribute: string): RBXScriptSignal
631GetAttributes(): Dictionary
648GetChildren(): Instances
462GetDebugId(scopeLength: int = 4): string
707GetDescendants(): Instances
486GetFullName(): string
706GetStyled(name: string, selector: string?): Variant
657GetStyledPropertyChangedSignal(property: string): RBXScriptSignal
576GetTags(): Array
576HasTag(tag: string): bool
486IsAncestorOf(descendant: Instance): bool
486IsDescendantOf(ancestor: Instance): bool
664IsPropertyModified(property: string): bool
698QueryDescendants(selector: string): Instances
573Remove(): null
576RemoveTag(tag: string): null
664ResetPropertyToDefault(property: string): null
573SetAttribute(attribute: string, value: Variant): null
462WaitForChild(childName: string, timeOut: double): Instance
731children(): Instances
731clone(): Instance
731destroy(): null
731findFirstChild(name: string, recursive: bool = false): Instance
731getChildren(): Instances
731isDescendantOf(ancestor: Instance): bool
731remove(): null
462AncestryChanged(child: Instance, parent: Instance)
462AttributeChanged(attribute: string)
462ChildAdded(child: Instance)
462ChildRemoved(child: Instance)
462DescendantAdded(descendant: Instance)
462DescendantRemoving(descendant: Instance)
500Destroying()
657StyledPropertiesChanged()
731childAdded(child: Instance)
inherited from Object
731ClassName: string
731className: string
647GetPropertyChangedSignal(property: string): RBXScriptSignal
647IsA(className: string): bool
731isA(className: string): bool
647Changed(property: string)

Description

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.

Limits

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.

History 22

Members 4

LimitsEnabled

TypeDefault
boolfalse

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

History 5

MaxAngle

TypeDefault
float45

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.

History 5

Radius

TypeDefault
float0.200000003

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

History 5

Restitution

TypeDefault
float0

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.

History 5

Settings