Hello everyone I am currently making a simple inventory system. It works on singleplayer as intended and I am trying to adapt it for multiplayer.
The inventory is an actor component. Everything works, picking up items, moving items inside same inventory, opening the chest UI and putting items inside chest. The porblems comes after this. A client cant move items FROM other inventory, it can put items in from their own inventory. On the listen server the player can both put items and get items FROM other inventory. I checked and inventory slot OnDrop function gets called on client but the Run On Server Move Item event doesnt get called on server. The interesting thing is when I make another event inside player character blueprint and wrap the move item function there with a run on server, and call it from the OnDrop UI function everything works.
But I feel like there should be a way of move item logic staying inside the inventory component and as a beginner I am trying to learn. I set the owner for the chest on the server when client is opening the UI. I have been working on this for 2 days nonstop can someone please help me? Guide me through or tell me where to look, I feel like I tried everything.
Interact with interface to call function on chest.
On chest, show inventory from inventory component to client.


Inside inventoryslot OnDrop function, call move items from payload inventory reference. (Server Move Item is the part where client code doesn’t execute, OnDrop is called without error)
On inventory component the run on server event Server Move Item gets called and each players visual interface gets updated with multicast event later.
Instead of calling the Server Move Item from referenced variable, if I add a wrapper inside player character blueprint everything works both on server and client.




