# HingeConstraint

Roblox Engine API class from Roblox Studio 0.744.0.7441077 (version-7aaa6838d36c4448).

- Inherits from, nearest first: [Constraint](https://rapi.sleaze.dev/classes/Constraint.md), [Instance](https://rapi.sleaze.dev/classes/Instance.md), [Object](https://rapi.sleaze.dev/classes/Object.md)
- Memory category: BaseParts
- HTML page: https://rapi.sleaze.dev/classes/HingeConstraint/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/classes/HingeConstraint

Constrains its attachments to rotate about a single axis.

## Properties

### Radius

```luau
HingeConstraint.Radius: number = 0.150000006
```

- Tags: Read capabilities: Physics, Simulation access

The visualized radius of the [`HingeConstraint`](https://rapi.sleaze.dev/classes/HingeConstraint.md).

### CurrentAngle

```luau
HingeConstraint.CurrentAngle: number = 0
```

- Tags: Read only, Read capabilities: Physics, Save only, Simulation access

The current angle of the [`HingeConstraint`](https://rapi.sleaze.dev/classes/HingeConstraint.md).

### ActuatorType

```luau
HingeConstraint.ActuatorType: Enum.ActuatorType = Enum.ActuatorType.None
```

- Tags: Read capabilities: Physics, Simulation access

Sets whether the rotation of the [`HingeConstraint`](https://rapi.sleaze.dev/classes/HingeConstraint.md) is actuated and, if so, what kind of actuation it uses.

### LimitsEnabled

```luau
HingeConstraint.LimitsEnabled: boolean = false
```

- Tags: Read capabilities: Physics, Simulation access

Sets whether the [`HingeConstraint`](https://rapi.sleaze.dev/classes/HingeConstraint.md) will limit the range of rotation.

### LowerAngle

```luau
HingeConstraint.LowerAngle: number = -45
```

- Tags: Read capabilities: Physics, Simulation access

The minimum rotation angle the [`HingeConstraint`](https://rapi.sleaze.dev/classes/HingeConstraint.md) will allow if [`LimitsEnabled`](https://rapi.sleaze.dev/classes/HingeConstraint.md) is true.

### Restitution

```luau
HingeConstraint.Restitution: number = 0
```

- Tags: Read capabilities: Physics, Simulation access

How elastic [`Attachment`](https://rapi.sleaze.dev/classes/Attachment.md) connected by a [`HingeConstraint`](https://rapi.sleaze.dev/classes/HingeConstraint.md) will be when they reach the end of the range when [`LimitsEnabled`](https://rapi.sleaze.dev/classes/HingeConstraint.md) is true. Constrained between 0 and 1.

### UpperAngle

```luau
HingeConstraint.UpperAngle: number = 45
```

- Tags: Read capabilities: Physics, Simulation access

The maximum rotation angle the [`HingeConstraint`](https://rapi.sleaze.dev/classes/HingeConstraint.md) will allow if [`LimitsEnabled`](https://rapi.sleaze.dev/classes/HingeConstraint.md) is true.

### AngularVelocity

```luau
HingeConstraint.AngularVelocity: number = 0
```

- Tags: Read capabilities: Physics, Simulation access

The angular velocity a [`HingeConstraint`](https://rapi.sleaze.dev/classes/HingeConstraint.md) with [`ActuatorType`](https://rapi.sleaze.dev/classes/HingeConstraint.md) set to [`Motor`](https://rapi.sleaze.dev/classes/Motor.md) will attempt to achieve. Measured in radians/second.

### MotorMaxAcceleration

```luau
HingeConstraint.MotorMaxAcceleration: number = 500000
```

- Tags: Read capabilities: Physics, Simulation access

The maximum angular acceleration a [`HingeConstraint`](https://rapi.sleaze.dev/classes/HingeConstraint.md) with [`ActuatorType`](https://rapi.sleaze.dev/classes/HingeConstraint.md) set to [`Motor`](https://rapi.sleaze.dev/classes/Motor.md) can apply to achieve its [`AngularVelocity`](https://rapi.sleaze.dev/classes/AngularVelocity.md). Measured in radians/second².

### MotorMaxTorque

```luau
HingeConstraint.MotorMaxTorque: number = 0
```

- Tags: Read capabilities: Physics, Simulation access

The maximum torque a [`HingeConstraint`](https://rapi.sleaze.dev/classes/HingeConstraint.md) with [`ActuatorType`](https://rapi.sleaze.dev/classes/HingeConstraint.md) set to [`Motor`](https://rapi.sleaze.dev/classes/Motor.md) can apply when trying to reach its desired [`AngularVelocity`](https://rapi.sleaze.dev/classes/AngularVelocity.md).

### AngularResponsiveness

```luau
HingeConstraint.AngularResponsiveness: number = 45
```

- Tags: Read capabilities: Physics, Simulation access

Specifies the sharpness of the servo motor in reaching the [`TargetAngle`](https://rapi.sleaze.dev/classes/HingeConstraint.md).

### AngularSpeed

```luau
HingeConstraint.AngularSpeed: number = 0
```

- Tags: Read capabilities: Physics, Simulation access

The desired angular speed a [`HingeConstraint`](https://rapi.sleaze.dev/classes/HingeConstraint.md) with [`ActuatorType`](https://rapi.sleaze.dev/classes/HingeConstraint.md) set to `Servo` will attempt to maintain while rotating towards its [`TargetAngle`](https://rapi.sleaze.dev/classes/HingeConstraint.md). Measured in radians/second.

### ServoMaxTorque

```luau
HingeConstraint.ServoMaxTorque: number = 0
```

- Tags: Read capabilities: Physics, Simulation access

The maximum torque a [`HingeConstraint`](https://rapi.sleaze.dev/classes/HingeConstraint.md) with [`ActuatorType`](https://rapi.sleaze.dev/classes/HingeConstraint.md) set to `Servo` can apply when trying to reach its desired [`TargetAngle`](https://rapi.sleaze.dev/classes/HingeConstraint.md).

### TargetAngle

```luau
HingeConstraint.TargetAngle: number = 0
```

- Tags: Read capabilities: Physics, Simulation access

The target angle a [`HingeConstraint`](https://rapi.sleaze.dev/classes/HingeConstraint.md) will attempt to rotate to if its [`ActuatorType`](https://rapi.sleaze.dev/classes/HingeConstraint.md) is set to `Servo`. Measured in degrees.

### SoftlockServoUponReachingTarget

```luau
HingeConstraint.SoftlockServoUponReachingTarget: boolean = false
```

- Tags: Deprecated, Read capabilities: Physics, Simulation access

**Deprecated:** This property should not be used in new work.

## Inherited members

- From [Constraint](https://rapi.sleaze.dev/classes/Constraint.md): `Color`, `Visible`, `Attachment0`, `Attachment1`, `Active`, `Enabled`, `GetDebugAppliedForce`, `GetDebugAppliedTorque`
- From [Instance](https://rapi.sleaze.dev/classes/Instance.md): `Archivable`, `archivable`, `Attributes`, `AttributesReplicate`, `AttributesSerialize`, `HistoryId`, `Name`, `Parent`, `PredictionMode`, `PropertyStatusStudio`, `RobloxLocked`, `SerializedOverrides`, `SourceAssetId`, `Tags`, `UniqueId`, `numExpectedDirectChildren`, `DataCost`, `Capabilities`, `DefinesCapabilities`, `IsInSandbox`, `Sandboxed`, `AddTag`, `ClearAllChildren`, `Clone`, `Destroy`, `FindFirstAncestor`, `FindFirstAncestorOfClass`, `FindFirstAncestorWhichIsA`, `FindFirstChild`, `FindFirstChildOfClass`, `FindFirstChildWhichIsA`, `FindFirstDescendant`, `GetActor`, `GetAttribute`, `GetAttributeChangedSignal`, `GetAttributes`, `GetChildren`, `GetDebugId`, `GetDescendants`, `GetFullName`, `GetStyled`, `GetStyledPropertyChangedSignal`, `GetTags`, `HasTag`, `IsAncestorOf`, `IsDescendantOf`, `IsPropertyModified`, `QueryDescendants`, `RemoveTag`, `ResetPropertyToDefault`, `SetAttribute`, `WaitForChild`, `Remove`, `children`, `clone`, `destroy`, `findFirstChild`, `getChildren`, `isDescendantOf`, `remove`, `AncestryChanged`, `AttributeChanged`, `ChildAdded`, `ChildRemoved`, `DescendantAdded`, `DescendantRemoving`, `Destroying`, `StyledPropertiesChanged`, `childAdded`
- From [Object](https://rapi.sleaze.dev/classes/Object.md): `ClassName`, `className`, `GetPropertyChangedSignal`, `IsA`, `isA`, `Changed`
