[Multiplayer] Trying to replicate weapon pickup to clients

I am trying to make a multiplayer arena shooter like UETournament. There are pods that spawn weapons and when a player get nearby the weapon gets picked up automatically and added to the players inventory. Im having trouble trying to add weapond to clients, as for server everything seems to work fine.

The weapon pod actor is recplicated and instancing weapons trough network fine. Here is the event that spawns teh weapons:

Here is the event called when a player overlaps the weapon pod:

The Add Weapon event called on the player which is not working for client servers:

Additionally here is the function that spawns a weapon, in the Weapon Pod:

I think the problem might be on the weapon pod which is only spawning on teh server, but again in my head that makes sense because weapon pods are supposed to be known by the server. However i don´t know if i am assigning the weapon to the players correctly and i can´t seem to fugre this out. Any help would be aprpeciated, thank you!

important never use delays and tick for mutiplayer i use delay only one time in my entire project in player controller to wait that player starts load its just like engine breathes. gun should be actor because Uobjects cant be placed in level but AActors can be its why APlayercontroller,ACharacter,APawn etc can. are you using struct? , client ask server to add and sever add item to inventory you should do add_weapon non replicated eevnt with parms integet as Player_ID and your weapon ref call a server event SR_Add_Weapon wiht params same as add_weapon then in the server event ,ask game state player array , find player state by is valid index true and get a copy then your logic

Auto Add weapons on Server Proxy overlap of the item. Clients do not need to do anything. Add to inventory on server. Inventory should be replicated.

RepNotify Struct would be the best setup for the inventory.