Best workaround for "replicating" skeletal mesh changes for weapons?

So I’ve been to trying get an event that swaps the skeletal mesh of a player’s gun to properly replicate, and was going crazy thinking I had severely misunderstood how replication in UE4 works, only to find some threads mentioning how “Set Skeletal Mesh” is broken and doesn’t actually replicate no matter how your set up your RPC’s.

My question now is: what’s the best way to work around this? My first thought is that I need to have skeletal mesh components on the player for each and every weapon in the game and just toggle their visibility. However, this would be a huge pain as my weapon system is already set up to be as easy and efficient as possible by storing a reference of each weapon’s skeletal mesh in a structure, and using that to set the single skeletal mesh component on the player. The solution I’ve proposed would require a big messy Switch node that would check the name of the weapon and enable visibility of a specific skeletal mesh component, and another to disable the previous skeletal mesh component.

Another possible solution I thought of was to create new skeletal mesh components every time when equipping a weapon. This seems a bit simpler, but I’m not sure if it’s viable.

If I absolutely need to take a messy approach to get this working properly, I will, but I’m hoping to find a more elegant solution.