Well how to do it there is about 101 options so before doing anything with the computer best practice is to sit down and plan out the work that needs to be done in a logical manner. A good tool for this requirement is some kind of mind mapping software (lots out there) that you can sit there and map out the logic of connecting all of the Lego blocks. For us this worked out to be the best way as we spent about six months just thinking and talking about how it should be done and a lot of R&D figuring out what are the best Lego blocks to use. Select the right blueprint class half the work is done for you.
Our option was to start with the 3rd player animations and the 1st person hands are just a component of the character blueprint using the same animations, for now, and weapons are attached using an inventory that is part of the blueprint and the weapon only needs to know what socket to bind the weapon to. Picks up need to be handle in a different manner but we don’t use pick ups so one last thing to worry about.
The actual animation part for gun and weapons would be the same as if you were animating for the 3rd person, and why we started there first, and you could animate the action in full so that both the 1st person hands would sync with the weapons animation and the 3rd person animations become a free lunch.
You can then export the weapon and its animated skeletal data to one FBX file and the player animation to another and tell one to get it’s anim BP from on file and the other another.
After that it’s just a matter of both respecting the same key driven event. Hit the fire button the hands move back and forth and the weapon behaving as it should being fired as an attachment to the hands.