---
title: ARSkeleton2D
framework: arkit
role: symbol
role_heading: Class
path: arkit/arskeleton2d
---

# ARSkeleton2D

An object that describes the locations of a body’s joints in the camera feed.

## Declaration

```swift
class ARSkeleton2D
```

## Overview

Overview ARSkeleton2D provides you with a 2D body’s joints in a flat hierarchy so you can access them efficiently. The joint locations are normalized within the range [0..1] in the coordinate space of the current frame’s camera image, where 0 is the upper left, and 1 is the bottom right. To access a skeleton’s joints by name, you use landmarkForJointNamed:. To access a named joint by index (for example, for performance reasons), you query the definition for the named joint index using index(for:), then access jointLandmarks using the resulting index.

## Topics

### Getting Joint Landmarks

- [jointLandmarks](arkit/arskeleton2d/jointlandmarks-12vkw.md)
- [landmark(for:)](arkit/arskeleton2d/landmark(for:).md)

## Relationships

### Inherits From

- [ARSkeleton](arkit/arskeleton.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)
- [ARSkeleton](arkit/arskeleton.md)
- [ARSkeletonDefinition](arkit/arskeletondefinition.md)
