<!--
{
  "availability" : [
    "iOS: 13.0.0 -",
    "iPadOS: 13.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "ARKit",
  "identifier" : "/documentation/ARKit/ARSkeleton",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "ARKit"
    ],
    "preciseIdentifier" : "c:objc(cs)ARSkeleton"
  },
  "title" : "ARSkeleton"
}
-->

# ARSkeleton

The interface for the skeleton of a tracked body.

```
class ARSkeleton
```

## Overview

As a collection of joints, this protocol describes the state of a human body whose movements ARKit can track.

The [`ARSkeleton3D`](/documentation/ARKit/ARSkeleton3D) subclass provides you with the position of a tracked body’s joints in 3D space, specifically with its [`jointLocalTransforms`](/documentation/ARKit/ARSkeleton3D/jointLocalTransforms-1m5a1) and [`jointModelTransforms`](/documentation/ARKit/ARSkeleton3D/jointModelTransforms-dno4) properties.

The [`ARSkeleton2D`](/documentation/ARKit/ARSkeleton2D) subclass provides you with the position of a tracked body’s joints in 2D space, by way of its [`jointLandmarks`](/documentation/ARKit/ARSkeleton2D/jointLandmarks-3en0x) property.

## Topics

### Getting Joint Information

[`definition`](/documentation/ARKit/ARSkeleton/definition)

The particular configuration of joints that define a body’s current state.

[`jointCount`](/documentation/ARKit/ARSkeleton/jointCount)

The skeleton’s total number of joints.

[`-  isJointTracked:`](/documentation/ARKit/ARSkeleton/isJointTracked(_:))

Tells you whether ARKit tracks a joint at a particular index.

[`JointName`](/documentation/ARKit/ARSkeleton/JointName)

A name identifier for a joint.

## Relationships

### Conforms To

[`Equatable`](/documentation/Swift/Equatable)

[`CVarArg`](/documentation/Swift/CVarArg)

[`Hashable`](/documentation/Swift/Hashable)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Sendable`](/documentation/Swift/Sendable)

### Inherited By

[`ARSkeleton3D`](/documentation/ARKit/ARSkeleton3D)

[`ARSkeleton2D`](/documentation/ARKit/ARSkeleton2D)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)