---
title: ARSkeleton.JointName
framework: arkit
role: symbol
role_heading: Structure
path: arkit/arskeleton/jointname
---

# ARSkeleton.JointName

A name identifier for a joint.

## Declaration

```swift
struct JointName
```

## Discussion

Discussion Use this class to access information about a named joint, such as its index in a skeleton’s array of joints, or its position on the screen or in the physical environment. When you’re tracking a body in 2D space, you get the screen-space position of a named joint by using the landmark(for:) function. When you’re tracking a body in 3D space, you get a named joint’s position in either local or model space by using the localTransform(for:) or modelTransform(for:) functions, respectively.

## Topics

### Creating a Joint Name

- [init(rawValue:)](arkit/arskeleton/jointname/init(rawvalue:).md)
- [init(_:)](arkit/arskeleton/jointname/init(_:).md)
- [VNRecognizedPointKey](vision/vnrecognizedpointkey.md)

### Identifying Joints

- [root](arkit/arskeleton/jointname/root.md)
- [head](arkit/arskeleton/jointname/head.md)
- [leftFoot](arkit/arskeleton/jointname/leftfoot.md)
- [leftHand](arkit/arskeleton/jointname/lefthand.md)
- [leftShoulder](arkit/arskeleton/jointname/leftshoulder.md)
- [rightFoot](arkit/arskeleton/jointname/rightfoot.md)
- [rightHand](arkit/arskeleton/jointname/righthand.md)
- [rightShoulder](arkit/arskeleton/jointname/rightshoulder.md)

## Relationships

### Conforms To

- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Getting Joint Information

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