Resetting a blueprint during gameplay

I have currently created a rope swinging mechanism through a physics constraint. Left clicking produces a line trace, activates the physics constraint, and my player attaches to a component of the blueprint and swings with it. Whenever I let go, my player launches with the current velocity. Everything works great sans a little tweaking, except the component my character attaches to keeps swinging. I’ve tried to break the physics constraint as well as moving the component back to its original location, but can’t seem to make either of these work. Is there a way in my character blueprint to reset another blueprint, so the swinging component will go back to how it was before I produce the line trace?

In the construction script of the target blueprint, collect the actor’s original location and store that as a Vector variable (OriginalLoc). In the event graph for that blueprint, create a custom event that moves the target back to OriginalLoc (whatever method you do for this should work fine, I suggest teleport) and turn physics off (SetEnableGravity, I believe). This custom event can be called from where ever you need to as long as you can access this blueprint actor from that other blueprint.

I was able to get this to sort of work, but it seems it just won’t call my custom event after letting go of the left mouse button. I added a delay at the end of my pressed execution then attached the custom event and it works that way. I’ll just have to fiddle with it some more to get it working. Thanks for your help!

Edit: Got it working 100%. In case anyone sees this and wants to do something similar, I was casting incorrectly in picture 4. Instead of using Get Owner to connect to “SwingFromPointBP” i used the hit actor result from picture 1.