Top Down Shooter movement implementation

Hi guys, I followed pretty rough top-down shooter tutorial wherein the end I got

  1. Fixed camera to the player character
  2. WADS movement and aiming by the mouse cursor. On the blueprint side, you get find look at rotation angle and when its value goes between -90 +90 Animation blueprint will change torso rotation. When it goes more, with some dirty hack player character will get +180 degree rotation on the Z axis.

Rotation to the character sets by even tick but with a gate which opens on shoot event.

Of course, this is an ugly implementation but I don’t have enough experience to create a better solution, so I need pieces of advice on how to create a proper solution

  1. “Dragged” camera movement when the player hits level borders
  2. Smooth character rotation an aim
  3. Constant player aim to the mouse cursor

I like how it was realized in old 2d game Alien Shooter and want to recreate similar movement in 3d.