# AnimationConstraint

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/AnimationConstraint/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/classes/AnimationConstraint

Aligns two `BaseParts` with an animate-able kinematic or force-based joint that supports physical simulation (ragdoll, arm strength). The default joint type for R15 avatar rigs.

## Properties

### EnableSkinning

```luau
AnimationConstraint.EnableSkinning: boolean = true
```

- Tags: Hidden, Roblox script security, Read capabilities: Animation + Physics

### AngularDamping

```luau
AnimationConstraint.AngularDamping: number = 1
```

- Tags: Read capabilities: Animation + Physics, Simulation access

Damping ratio for the rotational part of the constraint. Higher values reduce oscillation around the target orientation.

### AngularStrength

```luau
AnimationConstraint.AngularStrength: number = 1
```

- Tags: Read capabilities: Animation + Physics, Simulation access

Controls how rigidly the constraint enforces the rotational part of its target [`Transform`](https://rapi.sleaze.dev/classes/AnimationConstraint.md). Higher values track the target orientation more stiffly.

### LinearDamping

```luau
AnimationConstraint.LinearDamping: number = 1
```

- Tags: Read capabilities: Animation + Physics, Simulation access

Damping ratio for the translational part of the constraint. Higher values reduce oscillation around the target position.

### LinearStrength

```luau
AnimationConstraint.LinearStrength: number = 1
```

- Tags: Read capabilities: Animation + Physics, Simulation access

Controls how rigidly the constraint enforces the translational part of its target [`Transform`](https://rapi.sleaze.dev/classes/AnimationConstraint.md). Higher values track the target position more stiffly.

### MaxForce

```luau
AnimationConstraint.MaxForce: number = 10000
```

- Tags: Read capabilities: Animation + Physics, Simulation access

Maximum force magnitude the constraint can apply to achieve its goal.

### MaxTorque

```luau
AnimationConstraint.MaxTorque: number = 10000
```

- Tags: Read capabilities: Animation + Physics, Simulation access

Maximum torque the constraint can apply to reach its goal.

### IsKinematic

```luau
AnimationConstraint.IsKinematic: boolean = false
```

- Tags: Read capabilities: Animation + Physics, Simulation access

Toggles whether the constraint is kinematic or physically simulated.

### Transform

```luau
AnimationConstraint.Transform: CFrame = CFrame.identity
```

- Tags: Read capabilities: Animation + Physics, Simulation access

Describes the current animation offset of the constraint joint.

### C0

```luau
AnimationConstraint.C0: CFrame = CFrame.identity
```

- Tags: Deprecated, Hidden, Read only, Read capabilities: Animation + Physics, Simulation access

### C1

```luau
AnimationConstraint.C1: CFrame = CFrame.identity
```

- Tags: Deprecated, Hidden, Read only, Read capabilities: Animation + Physics, Simulation access

### Part0

```luau
AnimationConstraint.Part0: BasePart
```

- Tags: Deprecated, Hidden, Read only, Read capabilities: Animation + Physics, Simulation access

### Part1

```luau
AnimationConstraint.Part1: BasePart
```

- Tags: Deprecated, Hidden, Read only, Read capabilities: Animation + Physics, Simulation access

## 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`
