Grapple Hook?

Hello, i have quickropes 2 for my rope simulation, i would like to know how can i make a real working grapple? One that spawns and shoots upward then makes the player swing and then retracks. How can this be done? i have looked all over the internet for 3 days.

1.Spwan rope and grapple
2.shoot rope and grapple, maje rope start point and end point longer and parented to the player and the grapple
3.grapple sticks on collision add force to push player up and parent player to rope and use force to move rope
4. un parent player from rope and retract rope back to player
5.Repeate the process.
Yes lots of code is going to be needed.