PlayerState sounds nice, but one reason I avoided it that I designed whole inventory system to be very modular. It will be used on:
- Chests
- Weapon attachments
- Crafting stations etc.
Simply we can imagine a Rust like game, that inventory more like treated as an object by itself.
I double checked my system and all my workflow seems handled by server. And I disabled all client predictions for now.
Creating a new actor that represents the inventory also sounds nice, but I believe this won’t solve the problem. In same logic after player collect the items, if Actor object removed (which required to be removed eventually), it will again remove my items.
I print both garbage collection values, while on server there are no garbage collection triggered, in the client item marked for garbage collector.