How would I go about creating a BP callable function to attach actors to sockets/hit events

I cannot for the life of me get a sword actor with a static or skeletal mesh WITH physics enabled to stay attached to my characters hand socket using blueprints, obviously beause they designed it that way.

I want this because I need hit events for, say a sword hitting a rock, a simple overlap wont do for the game-play I need, a hit will allow me to get information such as location, normal, etc.

Obviously I can tick the actor.transform -> socket.transform but is there any way in C++ I could acheive this, and have it exposed to BP’s (maybe in aBP function library?) so that I can use it on dozens of different weapons/shields etc.

Any tips on where to start looking would be great, I cant find much with our still reletively new community.

Thank you.