So I made a script for a block that has a surface gui when placed, but when I place it the block doesn't have the gui on it. Here's the script:
wait(0.1)
local BG = Instance.new("SurfaceGui")
local P = script.Parent.Parent.Part
BG.CanvasSize = UDim2.new(130,100)
BG.Parent = P
BG.Face = ("Front")
BG.Adornee = P
local TL = Instance.new("TextLabel")
TL.Position = UDim2.new(0,63,0,50)
TL.TextColor3 = Color3.new(0,0,0)
TL.FontSize = Enum.FontSize.Size48
TL.Parent = BG
TL.Text = script.Parent.Parent.Properties.Text.Var.Value
script.Parent.Parent.Properties.Text.Var.Changed:connect(function()
TL.Text = script.Parent.Parent.Properties.Text.Var.Value
end)
Help?

2 comments
You forgot to set the Parent for the SurfaceGui. :P
its there. look at lines 2 and 3 then at BG.Parent = P