Swapping out anim montages for different melee weapons

As the title suggests I’ve been attempting to play separate melee attacks for different conditions as follows:
Barehanded
One handed
2 handed
Dual wielding etc…

Right now the best I can think of is calling an is valid for the skeletal mesh that is currently in the socket, and getting a boolean from a data struct. Does anyone have a recommendation on a clean way of doing this? Or better yet, a better way of doing this?

For anyone having a similar issue I managed to find a simple fix to this problem, simply create a boolean stating the character has a weapon equipped, I’m still working out another way to do this for different types of weapons. But at the very least this should easily assist with a transition from punching - a weapon

I’d make a struct of weapon types and montages (each one should be an array and match). You could also make arrays, or build a data table out for this.
Then make a variable of that type of struct in your blueprint.
Then get that variable, break the struct and drag out from your currently equipped weapon (make sure that’s cached as a variable somewhere as well), then do a Find command from your weapon type array.
Do a Get command from the Montage array and drag the index out from the Find command into the Get command. Then plug in the result to the Montage on Montage Play.

I realize this is an old question but I found it on my searches for something else, so hope this helps someone!