Hello there, I am sort of new here, and I hope you can understand my problem.
With my script, I would like to clone a SurfaceGUI into the UpperTorso part of every player character inside the game. After running the script, it does not throw any errors, however, the SurfaceGUI fails to show up on the UpperTorso, and the object I want to clone does not show up in the player's UpperTorso in the Explorer, either. I have also tried cloning other types of objects into the UpperTorso too, and they do not seem to get cloned, either. I have also read about how SurfaceGUIs need an Adornee, it would be great if someone explained that, too.
My script is:
local Players = game:GetService("Players")
Players.PlayerAdded:connect(function(player)
player.CharacterAdded:connect(function(character)
local uppert = character.UpperTorso
if uppert then
local that = script.BackNumber:Clone()
that.Parent = uppert
end
end)
end)
The BackNumber SurfaceGUI object is in the Script itself, and it has a TextLabel inside it.
Thanks in advance for the help.

2 comments
that.Adornee = uppert? Also, :connect is deprecated in favour of :Connect
I can't test it out right now, but I'm pretty sure I also have to set the Parent too somehow, not just the Adornee, but I don't know how, it doesn't work.