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

# ARBodyAnchor

An anchor that tracks the position and movement of a human body in the rear-facing camera.

```
class ARBodyAnchor
```

## Overview

This [`ARAnchor`](/documentation/ARKit/ARAnchor) subclass tracks the movement of a single person. You enable body tracking by running your session using [`ARBodyTrackingConfiguration`](/documentation/ARKit/ARBodyTrackingConfiguration).

When ARKit recognizes a person in the back camera feed, it calls your delegate’s [`session(_:didAdd:)`](/documentation/ARKit/ARSessionDelegate/session(_:didAdd:)) function with [`ARBodyAnchor`](/documentation/ARKit/ARBodyAnchor). A body anchor’s [`transform`](/documentation/ARKit/ARAnchor/transform) position defines the world position of the body’s hip joint.

You can also check within the frame’s [`anchors`](/documentation/ARKit/ARFrame/anchors) for a body that ARKit is tracking.

### Place a Skeleton on a Surface

Because a body anchor’s origin maps to the hip joint, you calculate the current offset of the feet to the hip to place the body’s skeleton on a surface. By passing the foot joint index to [`jointModelTransforms`](/documentation/ARKit/ARSkeleton3D/jointModelTransforms-dno4), you get the foot’s offset from skeleton’s origin.

```swift
static var hipToFootOffset: Float {
    // Get an index for a foot. 
    let footIndex = ARSkeletonDefinition.defaultBody3D.index(forJointName: .leftFoot)
    // Get the foot's world-space offset from the hip. 
    let footTransform = ARSkeletonDefinition.defaultBody3D.neutralBodySkeleton3D!.jointModelTransforms[footIndex]
    // Return the height by getting just the y-value. 
    let distanceFromHipOnY = abs(footTransform.columns.3.y) 
    return distanceFromHipOnY
}
```

## Topics

### Interpreting 3D Motion

[`skeleton`](/documentation/ARKit/ARBodyAnchor/skeleton)

The tracked body in 3D.

### Getting Scale Information

[`estimatedScaleFactor`](/documentation/ARKit/ARBodyAnchor/estimatedScaleFactor)

A factor that relates the body’s default height with the height ARKit estimates at runtime.



---

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)