The hierarchy of joints and their names.


class ARSkeletonDefinition : NSObject


A skeleton definition enables you to understand the relationship of joints that make up a 3D or 2D body's skeleton, where joints connect to other joints to compose a single skeleton in a parent-child hierarchy. Use parentIndices to identify the hierarchy for a given skeleton definition.

A skeleton definition determines which joints have names, by providing you with the jointNames property and the index(forJointName:) function.


Locating in the Physical Environment

var neutralBodySkeleton3D: ARSkeleton3D?

The 3D skeleton in neutral pose.

class var defaultBody3D: ARSkeletonDefinition

The default skeleton definition for bodies defined in 3D.

Locating in Screen Space

class var defaultBody2D: ARSkeletonDefinition

The default skeleton definition for bodies defined in 2D.

Getting Joint Information

var jointNames: [String]

A collection of unique joint names.

func index(for: ARSkeleton.JointName) -> Int

Returns the index for a given joint identifier.

var parentIndices: [Int]

The parent index for each joint.

Instance Properties


Inherits From

Conforms To

See Also

Getting Joint Information

var definition: ARSkeletonDefinition

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

func isJointTracked(Int) -> Bool

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

struct ARSkeleton.JointName

A name identifier for a joint.


Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software