Very late to the party on this one, but was just scrolling through and noticed the whole “foot” thing - is it because you’re getting the actors location, while would be at the bottom of the character capsule, which would then make the foot the nearest bone. You need to be getting the impact location, not the hit actor location
EDIT: Only looked at screenshots, not actual text. Looks like your hit location isn’t returning or being assigned properly, just returning a default constructed FVector.