Develop

Body Joint Visual Reference for Movement SDK for Unreal

Updated: Apr 14, 2026
This topic provides visual examples for each of the 70 body joints defined in the OpenXR XrBodyJointFB enum. In the Meta XR Plugin for Unreal, these joints map 1:1 to the EOculusXRBoneID enum in the OculusXRMovement plugin, which uses PascalCase naming (for example, BodyHead, BodyLeftArmUpper, BodyRightHandWrist).

Accessing body joints in Unreal

Two approaches are available for consuming this data:
  • Animation node: The OculusXR Body Tracking animation node runs on the animation thread and maps body joint data to skeleton bone names. For setup instructions, see Animation blueprint for body tracking.
  • Actor component: UOculusXRBodyTrackingComponent extends UPoseableMeshComponent and maps each EOculusXRBoneID value to a bone name through the BoneNames property. It applies joint transforms to the target mesh at runtime.
You can also query body state directly through UOculusXRMovementFunctionLibrary::TryGetBodyState(), which populates an FOculusXRBodyState struct containing the Joints array indexed by EOculusXRBoneID.
Note: The 70 body joints listed below cover upper body tracking (EOculusXRBodyJointSet::UpperBody). Full-body tracking adds 14 lower body joints (indices 70-83) through EOculusXRBodyJointSet::FullBody. Body tracking is supported on Meta Quest 2 and later (Meta Quest 2, Meta Quest 3, Meta Quest 3S, and Meta Quest Pro). For a complete working implementation, see the Unreal Movement sample.

Body joints

Body Joints
XR_BODY_JOINT_ROOT_FB
XR_BODY_JOINT_ROOT_FB
 
XR_BODY_JOINT_HIPS_FB
XR_BODY_JOINT_HIPS_FB
 
XR_BODY_JOINT_SPINE_LOWER_FB
XR_BODY_JOINT_SPINE_LOWER_FB
 
XR_BODY_JOINT_SPINE_MIDDLE_FB
XR_BODY_JOINT_SPINE_MIDDLE_FB
 
XR_BODY_JOINT_SPINE_UPPER_FB
XR_BODY_JOINT_SPINE_UPPER_FB
 
XR_BODY_JOINT_CHEST_FB
XR_BODY_JOINT_CHEST_FB
 
XR_BODY_JOINT_NECK_FB
XR_BODY_JOINT_NECK_FB
 
XR_BODY_JOINT_HEAD_FB
XR_BODY_JOINT_HEAD_FB
 
XR_BODY_JOINT_LEFT_SHOULDER_FB
XR_BODY_JOINT_LEFT_SHOULDER_FB
 
XR_BODY_JOINT_LEFT_SCAPULA_FB
XR_BODY_JOINT_LEFT_SCAPULA_FB
 
XR_BODY_JOINT_LEFT_ARM_UPPER_FB
XR_BODY_JOINT_LEFT_ARM_UPPER_FB
 
XR_BODY_JOINT_LEFT_ARM_LOWER_FB
XR_BODY_JOINT_LEFT_ARM_LOWER_FB
 
XR_BODY_JOINT_LEFT_HAND_WRIST_TWIST_FB
XR_BODY_JOINT_LEFT_HAND_WRIST_TWIST_FB
 
XR_BODY_JOINT_RIGHT_SHOULDER_FB
XR_BODY_JOINT_RIGHT_SHOULDER_FB
 
XR_BODY_JOINT_RIGHT_SCAPULA_FB
XR_BODY_JOINT_RIGHT_SCAPULA_FB
 
XR_BODY_JOINT_RIGHT_ARM_UPPER_FB
XR_BODY_JOINT_RIGHT_ARM_UPPER_FB
 
XR_BODY_JOINT_RIGHT_ARM_LOWER_FB
XR_BODY_JOINT_RIGHT_ARM_LOWER_FB
 
XR_BODY_JOINT_RIGHT_HAND_WRIST_TWIST_FB
XR_BODY_JOINT_RIGHT_HAND_WRIST_TWIST_FB
 
XR_BODY_JOINT_LEFT_HAND_PALM_FB
XR_BODY_JOINT_LEFT_HAND_PALM_FB
 
XR_BODY_JOINT_LEFT_HAND_WRIST_FB
XR_BODY_JOINT_LEFT_HAND_WRIST_FB
 
XR_BODY_JOINT_LEFT_HAND_THUMB_METACARPAL_FB
XR_BODY_JOINT_LEFT_HAND_THUMB_METACARPAL_FB
 
XR_BODY_JOINT_LEFT_HAND_THUMB_PROXIMAL_FB
XR_BODY_JOINT_LEFT_HAND_THUMB_PROXIMAL_FB
 
XR_BODY_JOINT_LEFT_HAND_THUMB_DISTAL_FB
XR_BODY_JOINT_LEFT_HAND_THUMB_DISTAL_FB
 
XR_BODY_JOINT_LEFT_HAND_THUMB_TIP_FB
XR_BODY_JOINT_LEFT_HAND_THUMB_TIP_FB
 
XR_BODY_JOINT_LEFT_HAND_INDEX_METACARPAL_FB
XR_BODY_JOINT_LEFT_HAND_INDEX_METACARPAL_FB
 
XR_BODY_JOINT_LEFT_HAND_INDEX_PROXIMAL_FB
XR_BODY_JOINT_LEFT_HAND_INDEX_PROXIMAL_FB
 
XR_BODY_JOINT_LEFT_HAND_INDEX_INTERMEDIATE_FB
XR_BODY_JOINT_LEFT_HAND_INDEX_INTERMEDIATE_FB
 
XR_BODY_JOINT_LEFT_HAND_INDEX_DISTAL_FB
XR_BODY_JOINT_LEFT_HAND_INDEX_DISTAL_FB
 
XR_BODY_JOINT_LEFT_HAND_INDEX_TIP_FB
XR_BODY_JOINT_LEFT_HAND_INDEX_TIP_FB
 
XR_BODY_JOINT_LEFT_HAND_MIDDLE_METACARPAL_FB
XR_BODY_JOINT_LEFT_HAND_MIDDLE_METACARPAL_FB
 
XR_BODY_JOINT_LEFT_HAND_MIDDLE_PROXIMAL_FB
XR_BODY_JOINT_LEFT_HAND_MIDDLE_PROXIMAL_FB
 
XR_BODY_JOINT_LEFT_HAND_MIDDLE_INTERMEDIATE_FB
XR_BODY_JOINT_LEFT_HAND_MIDDLE_INTERMEDIATE_FB
 
XR_BODY_JOINT_LEFT_HAND_MIDDLE_DISTAL_FB
XR_BODY_JOINT_LEFT_HAND_MIDDLE_DISTAL_FB
 
XR_BODY_JOINT_LEFT_HAND_MIDDLE_TIP_FB
XR_BODY_JOINT_LEFT_HAND_MIDDLE_TIP_FB
 
XR_BODY_JOINT_LEFT_HAND_RING_METACARPAL_FB
XR_BODY_JOINT_LEFT_HAND_RING_METACARPAL_FB
 
XR_BODY_JOINT_LEFT_HAND_RING_PROXIMAL_FB
XR_BODY_JOINT_LEFT_HAND_RING_PROXIMAL_FB
 
XR_BODY_JOINT_LEFT_HAND_RING_INTERMEDIATE_FB
XR_BODY_JOINT_LEFT_HAND_RING_INTERMEDIATE_FB
 
XR_BODY_JOINT_LEFT_HAND_RING_DISTAL_FB
XR_BODY_JOINT_LEFT_HAND_RING_DISTAL_FB
 
XR_BODY_JOINT_LEFT_HAND_RING_TIP_FB
XR_BODY_JOINT_LEFT_HAND_RING_TIP_FB
 
XR_BODY_JOINT_LEFT_HAND_LITTLE_METACARPAL_FB
XR_BODY_JOINT_LEFT_HAND_LITTLE_METACARPAL_FB
 
XR_BODY_JOINT_LEFT_HAND_LITTLE_PROXIMAL_FB
XR_BODY_JOINT_LEFT_HAND_LITTLE_PROXIMAL_FB
 
XR_BODY_JOINT_LEFT_HAND_LITTLE_INTERMEDIATE_FB
XR_BODY_JOINT_LEFT_HAND_LITTLE_INTERMEDIATE_FB
 
XR_BODY_JOINT_LEFT_HAND_LITTLE_DISTAL_FB
XR_BODY_JOINT_LEFT_HAND_LITTLE_DISTAL_FB
 
XR_BODY_JOINT_LEFT_HAND_LITTLE_TIP_FB
XR_BODY_JOINT_LEFT_HAND_LITTLE_TIP_FB
 
XR_BODY_JOINT_RIGHT_HAND_PALM_FB
XR_BODY_JOINT_RIGHT_HAND_PALM_FB
 
XR_BODY_JOINT_RIGHT_HAND_WRIST_FB
XR_BODY_JOINT_RIGHT_HAND_WRIST_FB
 
XR_BODY_JOINT_RIGHT_HAND_THUMB_METACARPAL_FB
XR_BODY_JOINT_RIGHT_HAND_THUMB_METACARPAL_FB
 
XR_BODY_JOINT_RIGHT_HAND_THUMB_PROXIMAL_FB
XR_BODY_JOINT_RIGHT_HAND_THUMB_PROXIMAL_FB
 
XR_BODY_JOINT_RIGHT_HAND_THUMB_DISTAL_FB
 
XR_BODY_JOINT_RIGHT_HAND_THUMB_TIP_FB
XR_BODY_JOINT_RIGHT_HAND_THUMB_TIP_FB
 
XR_BODY_JOINT_RIGHT_HAND_INDEX_METACARPAL_FB
XR_BODY_JOINT_RIGHT_HAND_INDEX_METACARPAL_FB
 
XR_BODY_JOINT_RIGHT_HAND_INDEX_PROXIMAL_FB
XR_BODY_JOINT_RIGHT_HAND_INDEX_PROXIMAL_FB
 
XR_BODY_JOINT_RIGHT_HAND_INDEX_INTERMEDIATE_FB
XR_BODY_JOINT_RIGHT_HAND_INDEX_INTERMEDIATE_FB
 
XR_BODY_JOINT_RIGHT_HAND_INDEX_DISTAL_FB
XR_BODY_JOINT_RIGHT_HAND_INDEX_DISTAL_FB
 
XR_BODY_JOINT_RIGHT_HAND_INDEX_TIP_FB
XR_BODY_JOINT_RIGHT_HAND_INDEX_TIP_FB
 
XR_BODY_JOINT_RIGHT_HAND_MIDDLE_METACARPAL_FB
XR_BODY_JOINT_RIGHT_HAND_MIDDLE_METACARPAL_FB
 
XR_BODY_JOINT_RIGHT_HAND_MIDDLE_PROXIMAL_FB
XR_BODY_JOINT_RIGHT_HAND_MIDDLE_PROXIMAL_FB
 
XR_BODY_JOINT_RIGHT_HAND_MIDDLE_INTERMEDIATE_FB
XR_BODY_JOINT_RIGHT_HAND_MIDDLE_INTERMEDIATE_FB
 
XR_BODY_JOINT_RIGHT_HAND_MIDDLE_DISTAL_FB
XR_BODY_JOINT_RIGHT_HAND_MIDDLE_DISTAL_FB
 
XR_BODY_JOINT_RIGHT_HAND_MIDDLE_TIP_FB
XR_BODY_JOINT_RIGHT_HAND_MIDDLE_TIP_FB
 
XR_BODY_JOINT_RIGHT_HAND_RING_METACARPAL_FB
XR_BODY_JOINT_RIGHT_HAND_RING_METACARPAL_FB
 
XR_BODY_JOINT_RIGHT_HAND_RING_PROXIMAL_FB
XR_BODY_JOINT_RIGHT_HAND_RING_PROXIMAL_FB
 
XR_BODY_JOINT_RIGHT_HAND_RING_INTERMEDIATE_FB
XR_BODY_JOINT_RIGHT_HAND_RING_INTERMEDIATE_FB
 
XR_BODY_JOINT_RIGHT_HAND_RING_DISTAL_FB
XR_BODY_JOINT_RIGHT_HAND_RING_DISTAL_FB
 
XR_BODY_JOINT_RIGHT_HAND_RING_TIP_FB
XR_BODY_JOINT_RIGHT_HAND_RING_TIP_FB
 
XR_BODY_JOINT_RIGHT_HAND_LITTLE_METACARPAL_FB
XR_BODY_JOINT_RIGHT_HAND_LITTLE_METACARPAL_FB
 
XR_BODY_JOINT_RIGHT_HAND_LITTLE_PROXIMAL_FB
XR_BODY_JOINT_RIGHT_HAND_LITTLE_PROXIMAL_FB
 
XR_BODY_JOINT_RIGHT_HAND_LITTLE_INTERMEDIATE_FB
XR_BODY_JOINT_RIGHT_HAND_LITTLE_INTERMEDIATE_FB
 
XR_BODY_JOINT_RIGHT_HAND_LITTLE_DISTAL_FB
XR_BODY_JOINT_RIGHT_HAND_LITTLE_DISTAL_FB
 
XR_BODY_JOINT_RIGHT_HAND_LITTLE_TIP_FB
XR_BODY_JOINT_RIGHT_HAND_LITTLE_TIP_FB