Need help hiding a viewport if something doesn't exist

Hello developers! I hope you are all doing well. However, I have a game coming in less than 24 hours, and there is a bug:

game.Players.PlayerAdded:Connect(function(plr)
	if not plr:WaitForChild("Characters").Zomboy2020Halloween then
		plr:WaitForChild("PlayerGui"):WaitForChild("CharacterShop"):WaitForChild("CharacterList"):WaitForChild("ScrollingFrame"):WaitForChild("Content"):WaitForChild("Zomboy2020Halloween").Visible = true
	else
		plr:WaitForChild("PlayerGui"):WaitForChild("CharacterShop"):WaitForChild("CharacterList"):WaitForChild("ScrollingFrame"):WaitForChild("Content"):WaitForChild("Zomboy2020Halloween").Visible = false
	end
end)

This is not doing what it needs to do. Instead, it it doing this:
image
If you can help, please let me know. Thanks, WE.

If you’re trying to search for something and whether or not it exists, you should probably use :FindFirstChild() instead of dot notation. FFC returns nil if it doesn’t exist, dot notation errors.

He is still here!


But it doesn’t seem to be printing the error. What the script does is hides the character.
What I did:

game.Players.PlayerAdded:Connect(function(plr)
	if not plr:WaitForChild("Characters"):FindFirstChild("Zomboy2020Halloween") then
		plr:WaitForChild("PlayerGui"):WaitForChild("CharacterShop"):WaitForChild("CharacterList"):WaitForChild("ScrollingFrame"):WaitForChild("Content"):WaitForChild("Zomboy2020Halloween").Visible = true
	else
		plr:WaitForChild("PlayerGui"):WaitForChild("CharacterShop"):WaitForChild("CharacterList"):WaitForChild("ScrollingFrame"):WaitForChild("Content"):WaitForChild("Zomboy2020Halloween").Visible = false
	end
end)

Ah! Nevermind. I found the mistake and it is now corrected. I am going to see if owning, he will be there.