How to store variables across maps in multiplayer?

I want to keep a player’s items across levels, where people will be on different levels on the same server. Is there any way to do this in BP? This doesnt need to be seamless on the clients end, loading is ok, and this will be done in a micro than macro scale, 4 players, not 4,000 players, though if it could be scalable that would be nice too.

Not sure if this is what you mean, but there is a ‘SaveGame’ blueprint class in Unreal. Pretty much all of the built-in functions dealing with saving information across levels have a “user index” pin for setting which player you’re currently saving/loading data for.

Store the inventory in the Player Controller. If you need to maintain it on quits/session end, then you need to have a backend server that handles it.

On Load query the server for the data, update player controller inventory.
On Quit query the server, update inventory.

Player controller gets destroyed on map transition, please correct me if im wrong.

If you’re using Seamless Travel, then the controller will persist.

Server needs to make the call to travel. All clients will stay connected and travel to the new map.