Can I attach an actor to a HitResult bone?

I have an actor for an explosion with about a 1 second lifetime which I want to spawn attached to the point where it hit the character skeletal mesh. (Imagine a sticky blob hitting it’s arm)

So if the character keeps moving, the effect will move along with it.

Using AttachRootComponentTo allows me to attach it to the hit actor at the hit location, but it is not skinned to the skeletal mesh, so it doesn’t actually stick to the character. Passing along the bone name to this function doesn’t attach it to the bone.

I gather that I can only attach to a socket - and sockets seem to be read-only and set up in the editor. Can I create a socket at runtime to attach the actor to?