Hi ,
Try adjusting the branch nodes after your timer to accomodate a wider margin for error. By increasing this float value you give yourself more space to slow the character down. Further still, you can, once the branch value registers as false, set a temporary vector value of your player location, then force the grappling hook to set your character to that location until whatever other parameters you need to set are met. This will hold the character at the end point of your grappling hook until you determine that you want it to let go. The branch I am referring to is located below.
