Problem is with the Vector3 line. The X and Z values need to depend on the NPC’s HRP and not the world space, as 5 in the X direction and 10 in the Z direction look perfect for these NPC’s
You can simply change + Vector3.new(5, 2, 10) to * CFrame.new(5, 2, 10) so that you’re shearing and not just translating the CFrame; so all operations are essentially done within object space.