Attaching Weapons to the character
As this is more of an Unreal question than a Blender question, you should post this (and any future questions explicitly relating to Unreal) on an Unreal forum instead. However, I'll still give my two cents as the same concepts can be applied to other 3D game engines as well.

There are several ways of doing this. The way I'd do it is (assuming your character is rigged) is by adding another bone in the character's armature to the location on the character where you want the weapon to attach (we'll call this bone "HoldPoint") and create a rig for your weapon that has a bone where on it you want the weapon to be held (we'll call this one "WeaponHandle").

Then in Unreal code the weapon such that when it is picked up by whatever method you use to pick it up (i.e. keypress, walk into, look at object, etc.), teleport it to the bone HoldPoint, copy the rotation values of bone HoldPoint to bone WeaponHandle, and parent the weapon to that bone, so that after the code is run the weapon will continue to be held. To stop holding it simply remove the parent and your weapon will stop being attached to the player. If the weapon is rotated the wrong way when it is held, then simply rotate bone HoldPoint until it's the way you want it.