Search code examples
luarobloxroblox-studio

ReplicatedFirst:RemoveDefaultLoadingScreen() not firing in Studio


I'm trying to make a custom loading screen for my game, but RemoveDefaultLoadingScreen doesn't seem to be firing. Can anyone help me with this? Here's my code:

local Players = game:GetService("Players")
local ReplicatedFirst = game:GetService("ReplicatedFirst")
ReplicatedFirst:RemoveDefaultLoadingScreen()
local TweenService = game:GetService("TweenService")
local Player = Players.LocalPlayer 
local PlayerGui = Player:WaitForChild("PlayerGui")
PlayerGui:SetTopbarTransparency(1)
local Loading = ReplicatedFirst.Load
local ScreenGui = Instance.new("ScreenGui")
ScreenGui.IgnoreGuiInset=true
local Bar = Loading.Frame.TextLabel
ScreenGui.Name = "LoadScreen"
Loading.Parent = ScreenGui
ScreenGui.Parent = PlayerGui
local Info = TweenInfo.new(0.7,Enum.EasingStyle.Cubic,Enum.EasingDirection.InOut,0,true,0)
local Tween = TweenService:Create(Bar,Info,{Position=UDim2.new(0.8,0,0.6,0)})
spawn(function()
    while true do
        Tween:Play()
        Tween.Completed:Wait()
    end
end)
if not game:IsLoaded() then
    game.Loaded:Wait()
end
for i=0,1,0.1 do
    Loading.BackgroundTransparency=i
    Bar.TextTransparency=i
    Loading.Frame.Load.TextTransparency=i
    wait()
end
ScreenGui:Destroy()

Everything works fine, except that the third line doesn't work in Studio. Is it supposed to be this way?


Solution

  • I tested it, it works just fine in Roblox Studio. Note this, though:

    In studio the load screen goes away almost instantly, so you won't see much of a difference.

    I'd put a wait(5) in your script before the if not game:IsLoaded() then line, that will simulate a 5 second load. Then you can play with having vs not having the ReplicatedFirst:RemoveDefaultLoadingScreen() command present, and you'll see the difference.