How to make an aim sway and recoil? (FPS)

I want to make an aim look system sort of like call of duty. Right now I have my camera parented to a gun which’s socket is one of the fingers. I think it doesnt look very good because i want the hands to go a little more in the direction youre looking when you change direction. If you ever play call of duty, or really any fps game, youll notice when you look left for example, the hands move a little more to the left of the screen then when you stop, it sort of moves back. Should I use aim offset for this? if i do aim offset i need to unparent my camera but if i do that the camera wont follow at all, im so confused. Could someone please help me? There are a lot of factors put into play that I have to consider. As for the recoil. I think I can just rotate the arms up right?

Been stuck on this all day, trying different things. Im going to take a break, however if anyone comments ill be here.

take a look at this

Hi

I took a look and got pretty far, i parented a camera to a spring arm and got the desired effect. One thing i would like to mention is its constantly slightly jittery when looking around, any fix?

If you have implemented an aim offset then manipulating Interp speed can be helpful

I learned the issue is from shakiness and sharpness from the mouse look. I added an interp, which decreased the shaking immensely, but its still pretty noticeable.