I made a Custom Name to have and put it inside of the Player this is the script

player = game.Players.LocalPlayer
ChangedName = script.Parent.Parent.ChangeName
button = script.Parent

button.MouseButton1Click:connect(function()
	if player.Character.Head:FindFirstChild("BillboardGui") == nil then -- If there's no GUI
	local Model = Instance.new("BillboardGui", player.Character.Head)
	wait(0.5)
	local Text = Instance.new("TextLabel",Model)
	wait(0.5)
	Model.AlwaysOnTop = true
	Model.StudsOffset = Vector3.new(0,3,0)
	Text.BackgroundTransparency = 1
	Text.Font = "SourceSansBold"
	Text.FontSize = "Size24"
	Text.TextScaled = true
	Text.TextWrapped = false
	Text.TextColor3 = Color3.new(0,0,0)
	Text.TextStrokeColor3 = Color3.new(255/255,255/255,255/255)
	Text.Text = ChangedName.Text
	Text.TextStrokeTransparency = 0
	
	elseif player.Character.Head:FindFirstChild("BillboardGui") ~= nil then -- Already has the GUI
		wait(0.5)
		local gui = player.Character.Head:FindFirstChild("BillboardGui")
		gui.TextLabel.Text = ChangedName.Text
	end
end)

alright so finally i pressed the button and it worked all things are in the head of the player text are connected to the

ChangedName.Text

and it's all good, BUT for some reason the Billboard gui is not showing up? how come? but i tried putting it manually by going to rightclick the player head >Insert object "BillboardGui" and it worked wth.. ugh..

any answers will be appreciated! thanks!