So, I was having difficulty with my guis and then found out I had to edit them via the playergui and not startergui. However, when I'm doing this, it is making changes to everybody's PlayerGui.
I have simplified thelocal script, placed in PlayerScripts, so it is easier to read.
local tr = game.Workspace.EP1.tr --This is just a brick.
local playergui = game.Players.LocalPlayer:WaitForChild("PlayerGui")
tr.Touched:Connect(function(hit) ---brick is touched
playergui.EP1.R.Enabled = true
tr.BrickColor = BrickColor.new("Pink")
end)
How can I assure that the ScreenGui object is only appearing on the screen of whoever touched the brick?
Thanks in advance

6 comments
It shouldn't do that since this is a local script...
Instead of putting the script into PlayerScripts, you could just place the script inside the Gui itself. In my opinion, it makes it a lot easier for me to find everything.
You need to check who touched the gui so only that player's gui is activated
I tried figuring out who presses the gui, touched only works for bricks though. Unless there's another way to see who has pressed a textbutton.
Oh btw, I also tried putting it as a child of the textbutton but same issue. no idea why since it is a local script... ^^^
Oh, okay.