local StarterGui =
game:GetService("StarterGui")
local MainMenu = StarterGui:WaitForChild("Main Menu")
local Menu = MainMenu:WaitForChild('Menu')
local PlayButton = Menu.PlayGui
print(PlayButton.Parent)-- I even checked to see what the parent of it was and it was right it returned in the output Menu
PlayButton.MouseButton1Down:Connect(function()
print('sad')
end)
so what is wrong with this script?

3 comments
Is it a local script?
obviously
You are getting the GUI from the StarterGui what you have to do is find the GUI from the player GUI by doing this, game.Players.LocalPlayer.PlayerGui then access the GUI from there