Here is the important part I missed yesterday in the ShootGame code. The Equipping/Unequipping part is built into the weapons themselves, the character just triggers the event. When the character spawns the actor, Event Begin Play on the actor detaches the mesh and set actor hidden, this is the reverse of how I have done it. Then they Re-Equip the weapon which reattaches the mesh to the owner and sets it up for use.
This gives me lots of ideas