why can’t decals be used like surfaceguis? why can’t I move them around, change their size and rotation on a part?
You can use ImageLabel/ImageButton for this.
https://developer.roblox.com/en-us/api-reference/class/ImageLabel
https://developer.roblox.com/en-us/api-reference/class/ImageButton
If an imagelabel was created on the server would everyone be able to see it?
Yes, anything you do on the server will replicate to every client.
As goes the other way. Anything you do on the Client will only be shown to that Client.
So I don’t have to send it to every players PlayerGui folder?
If you’re doing it in a SurfaceGui with an ImageLabel, you can just have the server move it around after placing it on the block.
SurfaceGui instances go inside of parts not the StarterGui folder. If you want to make changes to the SurfaceGui for it to be replicated across the server to every client then manipulate it within a server script.