FPS animations | From Blender to Unity

Hi. I’m having difficulties to figure out what is the proper way to animate fps hands + gun and get them work in Unity. In Blender everything works fine. Gun and FPS hands has both individual animations because there are few different weapons to animate. Here is a video of a simple reloading animation made in Blender.

The gun is parented to left hand wrist bone and changed via bone constraint to right hand wrist when magazine comes out. In Unity, the weapon is always parented to right hand bone so it kinda messes up the animation. Also before exporting animation to fbx, I have to relocate the gun in center of the world origin because otherwise the gun position is off in Unity. Here is the video of same animation in Unity.

Still kinda mess. So what is the proper way to animate hand and gun animations?