---
title: ARSkeleton
framework: arkit
role: symbol
role_heading: Class
path: arkit/arskeleton
---

# ARSkeleton

The interface for the skeleton of a tracked body.

## Declaration

```swift
class ARSkeleton
```

## Overview

Overview As a collection of joints, this protocol describes the state of a human body whose movements ARKit can track. The ARSkeleton3D subclass provides you with the position of a tracked body’s joints in 3D space, specifically with its jointLocalTransforms and jointModelTransforms properties. The ARSkeleton2D subclass provides you with the position of a tracked body’s joints in 2D space, by way of its jointLandmarks property.

## Topics

### Getting Joint Information

- [definition](arkit/arskeleton/definition.md)
- [isJointTracked(_:)](arkit/arskeleton/isjointtracked(_:).md)
- [ARSkeleton.JointName](arkit/arskeleton/jointname.md)

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Inherited By

- [ARSkeleton2D](arkit/arskeleton2d.md)
- [ARSkeleton3D](arkit/arskeleton3d.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Body Data

- [Capturing Body Motion in 3D](arkit/capturing-body-motion-in-3d.md)
- [ARBody2D](arkit/arbody2d.md)
- [ARSkeleton3D](arkit/arskeleton3d.md)
- [ARSkeleton2D](arkit/arskeleton2d.md)
- [ARSkeletonDefinition](arkit/arskeletondefinition.md)
