Please, NEVER make a useless loading screen. That just irritates everyone trying to play.
Here is a very bare bones method to make it, with no skip button.
Make sure the ScreenGui has the property ResetOnSpawn set to false.
local ContentProvider = game:GetService("ContentProvider")
local LoadingUI = YourLoadingUIObject
LoadingUI.Enabled = true
ContentProvider:PreloadAsync(workspace:GetDescendants()) -- Will load everything in workspace
for i,v in pairs(LoadingUI:GetDescendants()) do
if v:IsA("GuiObject") then
local Info = TweenInfo.new(1,Enum.EasingStyle.Quad,Enum.EasingDirection.InOut,0,false,0)
local Tween = TweenService:Create(v,Info,{BackgroundTransparency = 1})
end
end
ContentProvider:PreloadAsync() yields the current thread until all SPECIFIED objects have been loaded.
I hope this is what you’re going for.
Note that the Tweening portion will only fade out gui frames at the moment, some modifications are needed for your case.
For the skip button, you could try making a seperate script for that one to Tween out the loading screen. Just an idea, may not be the best method.
With your current system, which is complete bogus, I don’t know.
Your current system isn’t actually loading anything…
You could make a new thread for the skip button that gets rid of the loading screen and just leave the other thread yielding until it is all loaded, but at that point it wouldn’t matter because the loading screen was already gone.
Could you send your place because what you did could be little bad you should place your Menu inside ReplicatedFirst if its inside ReplicatedFirst and you write another Code inside it it will appear faster because its removing Roblox Default Loading Screen. I could also insert a Sound what u can change easy via Script. If u dont want to send then i can tell you from here what to do