Oh, I think I know why. The child component isn’t an actor, it’s a actor component. When I’m at home I will play with actor components and see what can be done. I actually want to test this to handle 4 weapons, different than the way I am doing it now.
When you spawn the actor you will need an AttachActorToActor or AttachActorToComponent. Or in the weapon itself you need to Event Overlap attach actor to actor/component, or on Event Begin Play. It all depends on how you want weapons to work
The way I have it is a script spawns all the weapons in their selected loadout, places them in an array and sets them hidden in game. Then it goes to the first index and attaches it to the player, sets it visible and sets EquippedWeapon. It’s similar to how ShooterGame does it in C++