Local script cant take things from replicatedstorage

This is the first time something like this happened
I am trying to make a loading screen, and i put this as a local script in replicatedfirst :

local Players = game:GetService("Players")
local ReplicatedFirst = game:GetService("ReplicatedFirst")

local player = Players.LocalPlayer 
local playerGui = player:WaitForChild("PlayerGui")
print("blackby")
local screenGui = game.ReplicatedStorage.loadingskin:Clone()
screenGui.Parent = playerGui

ReplicatedFirst:RemoveDefaultLoadingScreen()

wait(5)  
if not game:IsLoaded() then
	game.Loaded:Wait()
end
wait(15)
What script is supposed to do

taking the loading GUI from ReplicatedStorage and putting it on playerGui
Problem: apparently the loading GUI i put in ReplicatedStorage doesn’t exist?

What i tried doing: WaitForChild() , and it said (infinite yield possible blablabla)

wakey1

Anything in ReplicatedFirst is added to the client before those in ReplicatedStorage, what you could do is move the GUI into ReplicatedFirst as it would be added to the client at the same time as the script and would be found.

Information on ReplicatedFirst if you’re unfamiliar with how it operates: ReplicatedFirst | Roblox Creator Documentation

thanks, sir for the answer, I hope u will have happiness for eternal