Wait for open level? Spawned pawn vanishes

I want to handle spawning player controlled character by myself because there are different ones based on selection in main menu, each with different capabilities and control mechanism. From the main menu I am triggering event on my PlayerController which spawns correct character and possesses it. This alone works greatly and no problem there.

However I also need to load actual game level and that’s where things get bad. Spawned character is removed once level loads. I tried calling OpenLevel before and after Spawn, but no effect. I would like to avoid adding some sort of delays there, that’s totally nasty.

Only solution I found is from within my level blueprint to dispatch event on PlayerController to let it know it’s ready, but that’s rather inconvenient as I need to pass some other options from the main menu toward the PlayerController.

What could be other way to solve this, please?


as for the other post:

If I understand the problem then you could store the information which player you want to spawn within the game instance. In the Level blueprint you can then access this information and spawn your specific player.

Haven’t tried it but I think this is the way I would try it.

Kind Regards


I kinda wanted to avoid level blueprint logic as it’s kinda closed box and it cannot be shared with other levels. More likely I will store that information within GameState before calling Open Level and Controller can read it from there later. Thanks for confirmation.