Developer knowledge network ยท moderated exchange

UnreliableCode Community

Developer Research, Reverse Engineering & Coding Community

Knowledge indexLive
4Categories
919Threads
2.8KPosts
Analysis

Bone ID mapping for character hitboxes (Wraith, Gibraltar, Pathfinder)

matrix_math_guy
Math Specialist
MEMBER
Rep: 105
Join Date: Aug 2018
Posts: 52
Thanks: 41
1 months ago ยท Jul 9, 2026 2:03 PM
#1

Bone indices in Apex Legends Bone Matrix:

  • Head: Bone index 8 (or 12 on certain robotic models like Pathfinder / Revenant)
  • Neck: Bone index 7
  • Chest / Upper Spine: Bone index 5
  • Pelvis: Bone index 3
  • Left / Right Shoulder: Bone indices 14 / 37
  • Left / Right Foot: Bone indices 60 / 65
CPP
Vector3 GetApexBonePos(uintptr_t entity, int boneId) {
    uintptr_t boneMatrix = Read<uintptr_t>(entity + OFFSET_BONE_MATRIX);
    Matrix3x4 matrix = Read<Matrix3x4>(boneMatrix + (boneId * sizeof(Matrix3x4)));
    return Vector3(matrix.m[0][3], matrix.m[1][3], matrix.m[2][3]);
}
apex_kraber_god
Member
MEMBER
Rep: 178
Join Date: Jul 2022
Posts: 7
Thanks: 86
1 months ago ยท Jul 9, 2026 5:07 PM
#2

Using Upper Spine (Bone 5) as default aim target gives maximum hit probability regardless of head glitching.

vtable_slayer
Senior Reverser
MEMBER
Rep: 215
Join Date: Mar 2018
Posts: 86
Thanks: 61
1 months ago ยท Jul 10, 2026 9:50 AM
#3

Clean matrix translation. 3x4 matrix layout matches Source engine standard.