Multiplayer Lobby to Map : Loading Screen issues

Hello everyone, i’m working on a multiplayer game and i have an issue with my loading screens.

I have a level named Lobby with a custom GameMode (GM_Lobby) and it’s corresponding PlayerController (PC_Lobby). When all players are connected i trigger an event creating a widget tht display a loading screen, then i trigger the server travel to the game map.

The game map has it’s own GameMode (GM_Game) and PlayerController (PC_Game). OnBegin in the PC_Game graph i create again the loading screen widget (because it was destroyed by the server travel). Then when everything is setup in the map i remove it.

In the editor there is no issues, everything happens normally either on server or clients.
However when the game is packaged, on clients only, there is a window of several seconds before the second loading screen is created where clients can see the map and then the loading screen appear.

How to fix this problem ? I tried to use a Stream Level containing all the maps then async loading the map while creating the widget from the level blueprint directly. It was exactly the same result as before.

What i understand about all of this is that the player controller is not instantly created due to server travel and so the creation of widget is happening later.

Thanks to anybody that can help me :slight_smile:

Do you find the solution ?

Not at all, it is still an issue :confused:

I have chosen Lyra’s loading screen plugin.

Did you extracted it from the lyra’s project ?

Check out in Lyra’s Plugins folder. There will be Common Loading Screen

Thank you, i will try this !

I tested it but it, it fixes my issue but i have some trouble with the way the plugin work.
I have a loading screen displayed each time i’m changing level. I have multiples levels for menus and such (main menu, settings, lobbies list, lobby, etc. As an example i don’t really want to have a loading screen displayed when going from the main menu to the settings menu.

Is it possible to disable the loading screen on some levels ?

Yes. There are predefined functions called get current level and make some magic or else try with level streaming