NOTE: When I say the word “surroundings” I’m referring to the Player’s current Streaming Radius.
As a Roblox developer, it is currently impossible to know exactly when a player has finished loading in everything around them. This is annoying as it makes developers instead make loading screens that just wait x seconds, depending on how long the worst case scenario roughly takes.
This is especially annoying as a player, as often times loading screens in Roblox games are useless for me because I’ve already loaded in, as I’m running decent hardware and have a good connection to the server.
Customising the gameplay paused UI doesn’t work here, as that behaviour is generally not desired here. As it can be triggered by just walking around a map at default walkspeed, and not restricted to cases like teleporting from one end of the map to another end of the map.
If Roblox is able to address this issue, it would improve my development experience because it means developers could make accurate loading screens. That dont take an arbitrary long amount of time, because its impossible to know if a player has loaded in all assets around them.
Ideally I would like to see a new property added to Player called HasLoadedSurroundings alongside a new event added to Player called SurroundingsLoaded that fires when a player has loaded in all of their surroundings within their streaming radius.
This event and property should also be accessible from the server, for games that load in maps like Evade, Murder Mystery 2, etc. So its easy for developers to ensure players can’t get an unfair advantage by loading in before other players.
Although it should be warned in the docs that players can just spoof saying they haven’t loaded in on the server, and that developers should implement a maximum waiting time if necessary for their usecase.