Weapon selection

I’m making a game in which player can select unlocked weapons from main menu and that will be used in every level (Like most FPS sniper games).
To achieve this I store every weapons in an array which then spawns specific weapon (with array index) + its corresponding animations on level start.
This is not the most efficient way but I can only think of it for now.

Is there a better\efficient way to achieve this or perhaps UE4 has some inbuilt functionality to do this?