Annoying Error (unfixable!?)

Hiya everyone! I am the manager of an intermediate development team called Nefarious Entertainment, and we’re getting close to releasing our first game!

The one thing stopping us from releasing is a really annoying issue, and it keeps popping up in different scripts. The issue states that (thing) is not a valid member of (thing), but all of our team can clearly see that it is.
image image

Our team’s scripters are slightly new, have been scripting for over a year, and cannot find anything wrong with the scripts. We’ve tried resorting the layout of things, resizing guis to fix it and such, but nothing seems to be working. NOTE: this error seems to only happen with GUIs.

Since there are several different scripts, and I am currently on mobile, I can’t provide a script at the moment. When I am back online I will give you one of the infected scripts.

local MusicOne = game.Workspace.Sounds.Calm
local MusicTwo = game.Workspace.Sounds.Chill
local MusicThree = game.Workspace.Sounds.Crair
local MusicFour = game.Workspace.Sounds.Rakeel
local MusicFive = game.Workspace.Sounds.Trap
local MusicSix = game.Workspace.Sounds.Vibes

local GUI = script.Parent.Space
local Code = script.Parent.Parent.Codes.Space
local Commands = script.Parent.Parent:WaitForChild("Commands"):WaitForChild("Space")
local Time = script.Parent.Parent.Time.Clock
local Mute = GUI.Click

GUI.Mail.Image = "rbxassetid://5908224822"

local PopUp = script.Parent.Parent.Parent.Parent.ShopClick.Sounds.PopUp
local Click = script.Parent.Parent.Parent.Parent.ShopClick.Sounds.Click
local Swish = script.Parent.Parent.Parent.Parent.ShopClick.Sounds.Swish
local Hover = script.Parent.Parent.Parent.Parent.ShopClick.Sounds.Hover

----------------------------------------------------------------------------------

-- MouseEnter

GUI.MouseEnter:Connect(function()
	
	Hover:Play()

	GUI:TweenSize(
		UDim2.new(0.07, 0, 0.07, 0),
		Enum.EasingDirection.Out,
		Enum.EasingStyle.Sine,
		0.1,
		false
	)
	
	Code:TweenPosition(
		UDim2.new(0.432, 0, 0.190, 0),
		Enum.EasingDirection.Out,
		Enum.EasingStyle.Sine,
		0.1,
		false
	)
	
	Commands:TweenPosition(
		UDim2.new(0.9, 0, 0.190, 0),
		Enum.EasingDirection.Out,
		Enum.EasingStyle.Sine,
		0.1,
		false
	)
	
	Time:TweenPosition(
		UDim2.new(0.5, 0, 0.000, 0),
		Enum.EasingDirection.Out,
		Enum.EasingStyle.Sine,
		0.1,
		false
	)
end)

----------------------------------------------------------------------------------

-- MouseLeave

GUI.MouseLeave:Connect(function()

	Hover:Play()

	GUI:TweenSize(
		UDim2.new(0.06, 0, 0.06, 0),
		Enum.EasingDirection.In,
		Enum.EasingStyle.Sine,
		0.1,
		false
	)

	Code:TweenPosition(
		UDim2.new(0.437, 0, 0.190, 0),
		Enum.EasingDirection.In,
		Enum.EasingStyle.Sine,
		0.1,
		false
	)
	
	Commands:TweenPosition(
		UDim2.new(0.563, 0, 0.190, 0),
		Enum.EasingDirection.Out,
		Enum.EasingStyle.Sine,
		0.1,
		false
	)
	
	Time:TweenPosition(
		UDim2.new(0.5, 0, 0.005, 0),
		Enum.EasingDirection.In,
		Enum.EasingStyle.Sine,
		0.1,
		false
	)
end)

----------------------------------------------------------------------------------

-- Click

Mute.MouseButton1Up:Connect(function()
	
	Click:Play()
	
	if MusicOne.Volume == 1 then
	
	MusicOne.Volume = 0
		GUI.Mail.Image = "rbxassetid://5915628950"
		
	else
		
	MusicOne.Volume = 1
		GUI.Mail.Image = "rbxassetid://5908224822"
		
	end
		
	if MusicTwo.Volume == 1 then
		
	MusicTwo.Volume = 0
		GUI.Mail.Image = "rbxassetid://5915628950"
		
	else
		
	MusicTwo.Volume = 1
		GUI.Mail.Image = "rbxassetid://5908224822"
		
	end
	
	if MusicThree.Volume == 1 then

		MusicThree.Volume = 0
		GUI.Mail.Image = "rbxassetid://5915628950"

	else

		MusicThree.Volume = 1
		GUI.Mail.Image = "rbxassetid://5908224822"

	end
	
	if MusicFour.Volume == 1 then

		MusicFour.Volume = 0
		GUI.Mail.Image = "rbxassetid://5915628950"

	else

		MusicFour.Volume = 1
		GUI.Mail.Image = "rbxassetid://5908224822"

	end
	
	if MusicFive.Volume == 1 then

		MusicFive.Volume = 0
		GUI.Mail.Image = "rbxassetid://5915628950"

	else

		MusicFive.Volume = 1
		GUI.Mail.Image = "rbxassetid://5908224822"

	end
	
	if MusicSix.Volume == 1 then

		MusicSix.Volume = 0
		GUI.Mail.Image = "rbxassetid://5915628950"

	else

		MusicSix.Volume = 1
		GUI.Mail.Image = "rbxassetid://5908224822"

	end
	end)





Our game is planned to release in a week, and we’re not sure if we can do that if this is holding us back. If you csn, please help with this as it is the last thing for our game’s beta mode.

I got a similiar error where i tried to get a value of the gui but got a nil value even if everything was right, i fixed this getting the value not from the starter gui but from the player gui that is updated

Like Players.Denisxdx3.StarterGUI instead of
Game.StarterGUI

May you show me the piece of code that defines the GUI please?

Don’t use startergui when doing guis in localscripts

Can u show us the script line where the error is happening when your back? Also

wdym by this

Ok, my best guess is that you aren’t utilizing :WaitForChild() and that your UI loads in AFTER the local script loads in

game.Players.LocalPlayer.PlayerGui:WaitForChild("Name here")

Added Script to post. Hopefully it will help more.

Just put it in. Hopefully it’ll be easier now.

infected, meaning scripts that are involved with the problem.

Where is the script positioned?

It’s the Mute script that you see in the image, in the Mute GUI