Seamless Loading Screen

I’m having trouble creating a seamless loading screen between games. This is my script for the custom loading screen.

local PlayerGUI = game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui")

local GUI = script.LoadingScreen:Clone()
GUI.Parent = PlayerGUI

game.ReplicatedFirst:RemoveDefaultLoadingScreen()

repeat wait(1) until game:IsLoaded()
wait(5)

game.Workspace.StartMusic.Playing = true
GUI.Frame.LocalScript.Disabled = false

So, whenever it teleports the player the screen goes white, and when they join this game it still shows the default loading screen for a second. Is there anyway I can do something similar to Entry Point where it’s a seamless transition between games?

Edit: I feel like this post should have been more focused on the fact that it still shows the default loading screen. I’ll probably just make a new post

4 Likes

Hello, this could help you: here
Read it and if you have any question reply to me here.

I have a basically seamless loading screen for my shutdowns.
It will make a playergui appear on screen, and teleport them to a placeholder place. It does something like this to teleport, using features not commonly known

game:GetService("TeleportService"):Teleport(youknowwhattodo,youknowwhattodo,nil,PlayerInstance.PlayerGui.LoadingScreenGui

The placeholder place has the same gui in it, and teleports the player to the new game, a seamless transition.
(I also give the players a local script to turn off all core guis)

Could you explain a bit more on what I would need to do? Also, does this apply to places that are in a game?

I’ve tried this, but it doesn’t work how I’d like it to. It still keeps the default loading screen for a second.

Yes, heres an example of something I did.

script.Parent.MouseButton1Click:Connect(function()
	game.ServerScriptService.ShutdownKick.Disabled = false
	local e = game.Players:GetChildren()
	for i,v in pairs(e) do
		game.Lighting.RestartGui:Clone().Parent = v.PlayerGui
		v.PlayerGui.offguis.Disabled = false
		print("Everything succesful. Preparing to teleport..")
		game:GetService("TeleportService"):Teleport(5952234543,v,nil,v.PlayerGui.RestartGui)
	end
end)

The offguis script just disables all coreguis such as chat. This uses a gui button to teleport and you can change it to your liking. the 4th argument in :Teleport is the gui that the teleport screen will be, so it can have a smooth transition.