So from what I’ve experimented with, it seems the player state is required to store unique info about each player - but is it required for everything like the health of the pawn, the health of other pawns, inventory of the possessed pawn, etc?
I’d like to store all of that info on the pawn itself, but from my experiments, I’ve always had better (as in, working at all) results over multiplayer by using the player state and running on the server.
While this works handily, there’s the matter of lag. My inventory was registering changes after a noticeable delay, which allowed me to duplicate items by quickly “removing” them or “stowing” them again quickly.
I tried disabling the buttons for a second or two, to compensate for lag, but that’s a double-edged sword because you can’t compensate for all lag, and you don’t want to disable the buttons for too long.
To remedy this, I put the inventory on the character/pawn (third person blueprint from the content example) and then save the inventory to the player state and save game separately so that the user interface runs on the client’s side, but then I ran into problems with setting skeletal meshes from the player state… eventually, I decided that my menu system was clunky and confusing and I was better off just asking on here for some advice on how to effectively counter the lag when dealing with moving replicated variables around on a user interface, say with drag & drop or context (right click) menus in mind?
And how necessary is the player state for storing variables in a multiplayer game? I feel like I’m using it wrong because I want the player to be able to switch player possession to other pawns.