Impossible to show widget in time for client when it loads a map

LoadingScreenBug

Hello, as shown on the gif, I try to make a loading screen when i’m loading a map. I create a loading screen in the map before and on the map the players are travelling to, with the goal to make it look seamless. It works correctly on the server but on clients, there is always a delay before actuallay showing the widget. (here a few frames because i’m in the editor but in package builds, it can be way more)

I believe this delay is because the map is loaded on the server so every clients joins it but it is not loaded for the clients, so the delay of the appearance of the loading screen is the delay of loading the rest of the map for the clients. (I suppose)

I’ve tried to show the widget on begin play of the player controller, game state, game instance and level blueprint but they all end-up the same way.

Is there a way to prevent this from happening or a way to keep a widget alive between maps ?

you can use transition levels and or seamless travels.
you can also add your widget to root.

there’s also this talk, which is really good. notice this is a bit more advanced than just using transition levels.

pd i had a similar issue on a singleplayer game, so i don’t think is specifically a problem of the network. though it could be.

I already use a transition level and seamless travel, I couldn’t understand what those settings were really doing thought.

This said, thanks for the video, I’ll take a look.

1 Like

there are some things in your original post that are unclear to me.
so it depens as to what you’re trying to do.
if you’re unsure about what transition levels do, i’d suggest checking the docs. in general it allows you to persist objects across map travels (among others).

you have to mark which objects to persist though.

since you asked that, i think both what i just said and the last video could help you. both will allow you to keep an object between maps.
you have to be aware of where the object is parented to.

can you tell me where you create this loading screen widget?

i am not sure but you might try to create widget in game instances
maybe it will works

i have did that long time ago but i that’s what i did

I think i understand what transition map are supposed to do now, thanks to you and the video you’ve shared but I can’t make it work.

I’ve looked at docs and even ask chat GPT (conversation link : https://chatgpt.com/share/683dbf24-9c6c-8013-85fd-0a2027267066) what i was missing to use the transition level but it never feels like it triggered (prints in the level blueprint were not showing).

I feel like it’s because seamless travel can’t be used the first time you load a map, but is this statement true for the first ever map or the first time for each map ?

I’m currently creating the widget in the player controller, I’ve tried in the game instance but came out with the same result as the player controller.