Basically, yes. It’s as simple as that. Rig the weapon and add any animations you need, then trigger those from your animation blueprint based on weapon, character, or game state. You might, for example, check to see if they’re reloading, and kick off the appropriate reload animation. It can get tricky if you have separate animations that have to go at the same time, but you can handle that with bone blends in your animation blueprint.
There are some things you’ll want to do programmatically. Shell ejection probably shouldn’t be animated, but should be programmed, for example.