Loading screen problem?

Hi, I’m working on a game with a decently sized smooth terrain map. The client memory size is about ~480MB. The problem is whenever I join, after the grey roblox loading screen I see this for about 20 seconds:

The 20 second wait might be friendlier if I could get a loading screen in there or something… I tried inserting a Frame with a LocalScript in ReplicatedFirst, but it didn’t show up until the character spawned. What can I do about this?


Some useful info here. In short, in your LocalScript in ReplicatedFirst:

  1. Wait for PlayerGui to exist
  2. Reparent your loading ScreenGui to PlayerGui
  3. Call ReplicatedFirst:RemoveDefaultLoadingScreen()

Still doesn’t come in time. Could it possibly be that roblox isn’t giving my place enough bandwidth, since it only has like 100 visits?

1 Like

Nope, there’s no mechanism like that. Every game server gets appropriate resources regardless of the game it is running.


Mind sharing your code? As long as the loading gui is in, and cloned from, ReplicatedFirst this shouldn’t be an issue.

Well I just deleted it, but the code from the wiki didn’t insert the GUI quickly enough either

Keep the loading screen then and just put the GUI there. It will show the loading screen then fade to your GUI

Have you tried using both :PreloadAsync() and ReplicatedFirst:RemoveDefaultLoadingScreen() together in a LocalScript?


Do you guys mind trying to join my game and telling me if you see the same image as above for several seconds

1 Like

Yep, there’s still no loading screen.

I have the same issue as well with my large smooth terrain game.
Even though, the camera must be set up, because you can see the game, somehow in my localscript in replicatedfirst, it does not detect the PlayerGui until (as op stated) several seconds, of viewing the map from far above. It only happens with my large smooth terrain map.

A solution would be great.

I can’t explain how, but I just uploaded the place file to a different roblox game and then it was 10x faster… Maybe try that out. That’s what worked for me, literally just the exact same place file in a different game, don’t ask me how lol

I experimented with things all morning and found a sort of solution. Apparently, the client has a camera even before playergui is created. So what I did was have a part, with a decal (to avoid shadows) positioned in front of the camera as soon as the camera is available in a local script in repiicatedfirst.

Once I get a valid playergui, and I set up my loading or intro screen, then I delete the part that was parented to the local camera.

local part = script.Parent:WaitForChild("LenseCap")-- Instance.new("Part")

while not workspace.CurrentCamera do



part.CFrame = workspace.CurrentCamera.CFrame + (workspace.CurrentCamera.CFrame.LookVector * 5)

part.Parent = workspace.CurrentCamera

script.Parent = workspace.CurrentCamera

while script.Parent do

part.CFrame = workspace.CurrentCamera.CFrame + (workspace.CurrentCamera.CFrame.LookVector * 5)



1 Like