GameMode Variable empty after seamless travel

Hey guys,
i store the Player Controllers into an array after they logged in, so i can call them after seamless travel mapchange.
But, after the mapchange, the array is empty, so all controllers are “lost”.
Any idea why?

GameMode is not persistent.
It’s also kind of useless to store them separately, since the GameMode can access them everywhere.

Oh this makes sense, i thought game mode is persistent on seamless - or, at least, getting copied.

Thank you.

We got caught off guard with this too since the official documentations tates that game modes are persistent

Persisting Actors across Seamless Travel
When using seamless travel, it’s possible to carry over (persist) actors from the current level to the new one. This is useful for certain actors, like inventory items, players, etc.

By default, these actors will persist automatically:

  • The GameMode actor (server only)

  • Any actors further added via AGameModeBase::GetSeamlessTravelActorList

  • All Controllers that have a valid PlayerState (server only)

  • All PlayerControllers (server only)

  • All local PlayerControllers (server and client)

  • Any actors further added via APlayerController::GetSeamlessTravelActorList called on local PlayerControllers

Sorry for posting same question in several threads, but perhaps more people are “google / web search” for this topic and some informations are missleading.
Some people say GameMode is not persistent on sever travel. This is heavily confusing because when this is true, then UE official documentation has a big mistake because it says Controller and GameMode can be persistent through seamless travel when seamless travel is used.
Or how to understand the documentation … or what point do I miss? Perhaps there is simply a misunderstanding, but I read the part on documentation several times now. And I also thought this one of the reasons using seamless travel
https://docs.unrealengine.com/en-US/…seamlesstravel

At the moment I have the same problem as the threat creator. I get reset on seamless travel but getting no error on seamless travel. So it seems seamless travel is configured fine. But still staes and especially values of GameMode (I save all Player Controller Refrences there after Login of a player) gets resettet. I also wondering why.
How this part of documentation (https://docs.unrealengine.com/en-US/…seamlesstravel) is meant? Or how to get GameMode values persistent thorught seamless travel per server travel?

Help very welcome!

1 Like

I Had the same thought and put a counter variable in game mode thinking it would persist on seamless travel. Alas, it took me a while to figure out that the variable was getting reset to it’s default value.
Using gameinstance worked. The variable there persists across level changes.
Apparently, from what i can gather, GameMode does retain links to all player controllers across travel, but not any additional data that might be added on to it.