Keep Inventory when loading level

The above answers/comments are partially correct - however in order to have a transition state SAVED through game state transitions - you need to utilize the GameInstance classes for game related variables and PlayerState class for players… here’s why:

When a state transition happens within the game (Either through custom states in your GameMode or by level transitions, or by logging in/out) your EVENT BEGIN PLAY runs on all your blueprints… LAMENS TERMS: Your actor is re-instantiated. All your variables that you have stored at runtime now become re-defaulted at this point. . . EXCEPT for in the above classes - which hold their variable values persistent through such changes!

in a Networking/Multiplayer game - GameInstance and PlayerState are created for each player in the world - they hold their own instances of these classes. Make sure to setup the GameInstance in the Maps&Modes section of your Project Settings.

REFERENCES: