Store PlayerControllers from Lobby to another level

Good day!
I’ve created a lobby (with a dedicated lobby level) where I gather all information from connected players (including a reference to every player controller to assign their characters later). After all players are ready, I am transitioning them into a chosen level via servertravel storing data in GameInstance. When the next level is loaded, I get all data except references to player controllers.
So the question is am I doing that right or is there another way to store player controllers between levels?