LoadingScreen is not a valid member of PlayerGui "Players.FARLOKIE.PlayerGui"

I have some code that is to do with a camera loading screen but I keep on getting an error; here’s my code:

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

local TweenService = game:GetService("TweenService")

local Frame = PlayerGUI.LoadingScreen.Frame

local Label = PlayerGUI.LoadingScreen.Frame.TextLabel

local Button = PlayerGUI.LoadingScreen.Frame.TextButton

local Camera = workspace.Camera

function camera()

Camera.CameraType = Enum.CameraType.Scriptable

Camera.CFrame = game.Workspace.CamPart1.CFrame

end

camera()

local Blur = Instance.new("BlurEffect")

Blur.Parent = game.Lighting

Blur.Size = 12

Frame.Visible = true

Label.Text = game.MarketplaceService:GetProductInfo(game.PlaceId).Name

Button.MouseButton1Click:Connect(function()

local FrameOutTween = TweenService:Create(Frame, TweenInfo.new(0.5, Enum.EasingStyle.Back, Enum.EasingDirection.In), {Position = UDim2.new(0.5, 0, -1, 0)})

FrameOutTween:Play()

FrameOutTween.Completed:Wait()

Frame.Visible = false

Blur:Destroy()

Camera.CameraType = Enum.CameraType.Custom

end)

The script is probably running before the GUI has finished loading, just use :WaitForChild

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

local TweenService = game:GetService("TweenService")

local LoadingScreen = PlayerGUI:WaitForChild("LoadingScreen")

local Frame = LoadingScreen:WaitForChild("Frame")

local Label = Frame:WaitForChild("TextLabel")

local Button = Frame:WaitForChild("TextButton")

local Camera = workspace.Camera