# JointsService

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

- Inherits from, nearest first: [Instance](https://rapi.sleaze.dev/classes/Instance.md), [Object](https://rapi.sleaze.dev/classes/Object.md)
- Tags: Deprecated, Not creatable, Service
- Memory category: Instances
- HTML page: https://rapi.sleaze.dev/classes/JointsService/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/classes/JointsService

**Deprecated:** This service has been deprecated in favor of [constraints](https://create.roblox.com/docs/physics/mechanical-constraints) which should be used for surface connections instead

A service that stores joints created by surface connections.

## Methods

### ClearJoinAfterMoveJoints

```luau
JointsService:ClearJoinAfterMoveJoints()
```

- Tags: Capabilities: Physics

Will remove any 'create joints' that were made visible via the [`JointsService:ShowPermissibleJoints()`](https://rapi.sleaze.dev/classes/JointsService.md) method.

### CreateJoinAfterMoveJoints

```luau
JointsService:CreateJoinAfterMoveJoints()
```

- Tags: Capabilities: Physics

Updates all visible joints for the parts assigned by the [`JointsService:SetJoinAfterMoveTarget()`](https://rapi.sleaze.dev/classes/JointsService.md) and [`JointsService:SetJoinAfterMoveInstance()`](https://rapi.sleaze.dev/classes/JointsService.md) methods.

### SetJoinAfterMoveInstance

```luau
JointsService:SetJoinAfterMoveInstance(joinInstance: Instance)
```

- Tags: Capabilities: Physics

Sets the PVInstance that will be connected with the target PVInstance specified by [`JointsService:SetJoinAfterMoveTarget()`](https://rapi.sleaze.dev/classes/JointsService.md).

Parameters:

- `joinInstance`: The [`PVInstance`](https://rapi.sleaze.dev/classes/PVInstance.md) to be joined to the target set by [`JointsService:SetJoinAfterMoveTarget()`](https://rapi.sleaze.dev/classes/JointsService.md).

### SetJoinAfterMoveTarget

```luau
JointsService:SetJoinAfterMoveTarget(joinTarget: Instance)
```

- Tags: Capabilities: Physics

Sets the PVInstance that will be connected with the PVInstance specified by [`JointsService:SetJoinAfterMoveInstance()`](https://rapi.sleaze.dev/classes/JointsService.md).

Parameters:

- `joinTarget`: The [`PVInstance`](https://rapi.sleaze.dev/classes/PVInstance.md) to serve as the connection target for the instance set by [`JointsService:SetJoinAfterMoveInstance()`](https://rapi.sleaze.dev/classes/JointsService.md).

### ShowPermissibleJoints

```luau
JointsService:ShowPermissibleJoints()
```

- Tags: Capabilities: Physics

When used it will visibly display a potential surface connection between the two [`BasePart`](https://rapi.sleaze.dev/classes/BasePart.md), which were set with [`JointsService:SetJoinAfterMoveTarget()`](https://rapi.sleaze.dev/classes/JointsService.md) and [`JointsService:SetJoinAfterMoveInstance()`](https://rapi.sleaze.dev/classes/JointsService.md).

## Inherited members

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