Grappling Hook in 2D

Hello everyone, I’m making a 2D-sidescroller game in which I want to implement a grappling hook with such mechanisms as:

a) Pulling my character to valid objects (by line tracing to mouse I suppose).

b) Pulling valid objects, like enemies, to my character.

c) And most important swinging on a rope made between my character and an object.

As for now I’ve managed to get line tracing to search for valid objects, if it is a static element, my character gets launched to end of line tracing, if it’s a pawn, it gets an impulse to my character. But impulse and launching is not smooth enough. I’d like a constant motion of pulling, not one energic pull. Could you give me an advice how to do it ?

And my second question is, how to make my character swing on a rope attached to a point at the end of traced path. I’ve watched some tutorials, but all of them are in 3D-space, none of them show how to make a working swing in 2D.

I’m attaching my blueprint, so you can see how it works.

Thanks for your answers.