variable multiplayer only works on the server

I’m trying to remove items from inventories for all players, but it only works on the server, here’s the logic, what could be missing?
image (1)

Is item you removing exists on client? Is it set to be replicated and has finished replication? Is it true for blueprint you calling this rpcs from?

As option to check - check if it will work with non-pointer param like string or int

Do not use multicast RPC to handle critical game data management. Multicast is suited for visual and special effects like explosions.

Your player’s inventory should be on a replicating player state or similar actor. RemoveItemServer should loop through all connected players, grab their player state, remove item from the inventory collection (if present).

This will then automatically replicate. If you need some additional things to happen on the client, when an item is removed, then use OnRep_Notify