Can't make custom loadscreen that IMMEDIATELY replaces roblox load screen

Hi all. I have this loading screen script below, but it STILL SHOWS Roblox’s load screen before it finally switches to the one I’m trying to use. It does eventually show the right screen, and with a randomly selected tip…but not without first showing roblox’s standard load screen (the thumbnail for the game)

I keep the file below in ReplicatedFirst:

--
local function loadScreen()

	local replicatedFirst = game:GetService("ReplicatedFirst")
	replicatedFirst:RemoveDefaultLoadingScreen()

	local players = game:GetService("Players")
	local replicatedStorage = game:GetService("ReplicatedStorage")

	local player = players.LocalPlayer 

	local playerGui = player:WaitForChild("PlayerGui")
	local loadingMessage = playerGui:WaitForChild("LoadingMessage")
	-- Create a basic loading screen
	local loadTipsGui = playerGui:WaitForChild("LoadTipsGui")
	local screenGui = playerGui:WaitForChild("LoadScreenGUI")
	local loadScreensTable = screenGui:GetChildren()

	--Loading tip variables
	local loadingTipTable = require(playerGui:WaitForChild("LoadScreenTipsModule"))
	local chosenTipNum = math.random(1,#loadingTipTable)
	local chosenTip = loadingTipTable[chosenTipNum]
	local loadTip = loadTipsGui:WaitForChild("LoadScreenTip")
	
	local randomNumber =  math.random(1,#loadScreensTable) 
	local loadScreenImage = loadScreensTable[randomNumber]
	screenGui.IgnoreGuiInset = true
	screenGui.Enabled = true
	loadTipsGui.Enabled = true
	loadScreenImage.Visible = true
	loadingMessage.Visible = true
	loadTip.Visible = true
	loadTip.Text = chosenTip

	--
	wait(10)  -- Optionally force screen to appear for a minimum number of seconds
	--if not game:IsLoaded() then
	--	game.Loaded:Wait()
	--end
	loadScreenImage.Visible = false
	loadingMessage.Visible = false
	screenGui.Enabled = false
	screenGui.IgnoreGuiInset = false
	loadTipsGui.Enabled = false
	loadTip.Text = ""
	loadTip.Visible = false


end

loadScreen()

No fix to this, roblox will always show a split second of it’s default screen. It’s mentioned in the documents as well. Specifically, ReplicatedFirst:RemoveDefaultLoadingScreen().

Mainly because you still have to connect to a server in order to load stuff.

1 Like

thank you much for that ! I will quit trying ! :slight_smile: