Best way to make a loading screen?

Loading screens do actually load things in a sense. A proper loading screen (completely in my own opinion) will preload assets that the user immediately sees such as pieces of the loading screen or the main menu. If it’s controlled from ReplicatedFirst, then it will also check for IsLoaded to return true or Loaded to fire so it knows the server has finished the initial DataModel snapshot replication. Along with this are some assets placed in ReplicatedFirst so that they are the first things the server hands to the client. This is common for games that have a physical world view for their menu.

I don’t ever recommend some arbitrary wait because it’s not representative of an actual loading process and I especially don’t recommend RequestQueueSize because that’s not a proper indication of how much needs to download. Using this property is also bad for the user experience because this can result in long loading screens. If your game has many assets to download, instead of letting the stream in the background you’re waiting for the whole game to load. Players don’t have a whole lot of patience and they shouldn’t be expected to either: they should be able to get into the game quickly.

Here’s a design support topic on the matter of loading screens if you are interested:

1 Like