For some reason, when calling GetGuiObjectsAtPosition, all it returns is an empty table ("{}") even though there's clearly a frame with size {1, 0}, {1, 0} in the middle of the screen.
Ran in LocalScript
game:GetService("Players").LocalPlayer:WaitForChild("PlayerGui"):GetGuiObjectsAtPosition(50, 50)
But when I run the same exact thing in the command bar while playing, it returns what's expected.

2 comments
no monke instead wait for the frame using WaitForChild or create the whole gui using script, that way you always know that it exists, if you want the gui to be created in studio, put the ScreenGui into ReplicatedStorage and :Clone it into player's PlayerGui, that will make it always replicated and stop spreading ::colon::cancer >:v
ok whatever yes