I want to have a surface GUI where only the specific player can see and click on the the surface GUI. Exactly like PlayerGui is to StarterGui.
I have no clue where to start
Would I put the brick that holds the surfacegui in the camera?
If you have a local script that creates a surface gui, then puts it on the part, that would work. Anything modifying the workspace in a local script should only be visible to the player. I believe this is how it works, so try this.