In order to make new weapons, there are several things that you need to consider:
Add 3 sockets to the skeleton of your weapons mesh (Muzzle, AmmoReject and Left_Hand_IK)
Once that is done, simply create a new weapon child blueprint class or duplicate one of the existing ones. Drag & Drop it into the level, done!
From there you simply tweak the values to make your weapon work as you want it to, such as mesh, ammo, firerate, sound, particles, ADS correction and if you wish to use IK on it, etc.
If you do need to use the left hand IK, this video shows how you can position it in real-time
If your montages don’t work, chances are you set them in the wrong section.
GUN ANIMS: magazine, trigger, other moving parts on the weapon mesh
(just create a montage from those animations and set it there)
ARMS ANIMS: hands in first person character mesh
(create a montage and set the slot to arms)
TPS ANIMS: character mesh while in third person
(create a montage and set the slot to upper-body)
You can watch the old videos here, generally speaking they’re still valid:
A long version is also available, in that one I use somewhat broken assets, to show in what kind of situations you can run into and how you would solve the problems.
This video shows how to add animation montages to the weapon meshes.
In this video you can see how to create more weapons for the multiplayer mode: