Yesterday I was tinkering with some GUIs and I stumbled when I ran this script:
for i,p in pairs(game.Players:GetPlayers()) do
p.PlayerGui.ScreenGui.TextLabel.Text = "Hello"
end
When I put those 3 lines in a function that was fired via a ClickDetector's MouseClick event like so...
script.Parent.ClickDetector.MouseClick:Connect(function()
for _,p in pairs(game.Players:GetPlayers()) do
p.PlayerGui.ScreenGui.TextLabel.Text = "Hello"
end
end)
...and then ran the script, believe it or not, the server script accessed the PlayerGui and edited the TextLabel with FE on and no RemoteEvents. Could this possibly be a bug?

4 comments
we discussed this on discord and apparently the only thing that changes the gui is the one shown
nope, the GUI is in StarterGui and it works. I honestly have no idea why it's even working in the first place.
Maybe don't be dumb and disabled accurate play solo
@incapaxx it works in Studio and in game