Attaching a actor socket to another actor socket

Im trying to connect two cones via their tips. I have a cone blueprint and added a socket “ConeTip” to the cone blueprint. I’m having a hard time figuring out if it is possible to connect two cones from this blueprint on just their tips. Right now I have it so when they enter a collision sphere at the tips they snap to the socket. This methods works alright but it seems to attach the cone at its center to the socket of the first cone.

I had the same requirement. This is what I went for:

The key thing here was adding the inverse transform of the child’s socket to the location, after it was moved to the parent actor’s socket. Although If you moved it after attaching it would detach, hence the second attach but keeping relative location this time.

You can skip the rotation, that’s just where I’m snapping it to the closest 90 degrees.

There’s probably a faster way like getting the first socket location in world space and subtracting the second socket location in local space with one attach. But you might have to do some work with the rotation, so that’s why I thought it was best to snap it first then translate it.