How to have the character switch weapons

For a quick and easy solution for an fps: use bone animation to take the weapons down and up into view, gives 100% animation freedom and its super fast to implement, it also has the benefit of being fairly easy on rendering since destroying/spawning detailed weapon meshes could cause a slight skip in frames on stressed systems - just stop updating the animation on the weapon you don’t use atm.

If you use this method I would also recommend animating unique hands along with each weapon, since then you don’t need to keep updating ik/hand tracking, this is also good for frames.