Thanks! I wasn’t aware it was a public corescript. It looks like if there are items in ReplicatedFirst, it disappears after 5 seconds regardless, and if there aren’t items in ReplicatedFirst, it waits for game:IsLoaded()/game.Loaded (event). Code of interest:
if not hasReplicatedFirstElements then
if game:IsLoaded() then
handleRemoveDefaultLoadingGui()
else
local gameLoadedCon = nil
gameLoadedCon = game.Loaded:connect(function()
gameLoadedCon:disconnect()
gameLoadedCon = nil
handleRemoveDefaultLoadingGui()
end)
end
else
wait(5) -- make sure after 5 seconds we remove the default gui, even if the user doesn't
handleRemoveDefaultLoadingGui()
end