Tag: textlabel

  • How to Make Text Above Your Name in Roblox Studios

    How to Make Text Above Your Name in Roblox Studios







    How to Make Text Above Your Name in Roblox Studios (Copy-Paste Scripts)














    Roblox Studio GUI

    How to Make Text Above Your Name in Roblox Studios (Copy-Paste Scripts)

    We’ll use a BillboardGui attached to the character’s Head. Choose between a LocalScript (only you see it) or a Server Script (everyone sees it). Copy the code with one click.

    On this page

    🧠 First Version: LocalScript (Client-Sided)

    Where: StarterPlayer > StarterPlayerScripts · Runs only on the player’s computer.

    What it does: Adds a BillboardGui above your head that only you can see—great for personal UI such as a quest marker.

    lua — LocalScript (client-only)
    local Players = game:GetService("Players")
    local player = Players.LocalPlayer -- just YOU
    
    local function addNameText(character)
        local head = character:WaitForChild("Head", 5)
        if not head then return end
    
        local billboard = Instance.new("BillboardGui")
        billboard.Adornee = head  -- attaches to head
        billboard.Size = UDim2.new(0, 200, 0, 50)
        billboard.StudsOffset = Vector3.new(0, 3, 0) -- 3 studs above head
        billboard.AlwaysOnTop = true -- never behind objects
        billboard.Parent = head
    
        local label = Instance.new("TextLabel")
        label.Size = UDim2.fromScale(1, 1)
        label.BackgroundTransparency = 1
        label.Text = string.lower(player.Name) -- only YOUR name
        label.TextScaled = true
        label.Font = Enum.Font.GothamBold
        label.TextColor3 = Color3.new(1, 1, 1)
        label.TextStrokeTransparency = 0
        label.TextStrokeColor3 = Color3.new(0, 0, 0)
        label.Parent = billboard
    end
    
    if player.Character then addNameText(player.Character) end
    player.CharacterAdded:Connect(addNameText)

    Pros: very lightweight; perfect for personal UI. Cons: only you see it—no global visibility.

    🧠 Second Version: Server Script (Server-Sided)

    Where: ServerScriptService > Script · Runs for everyone.

    What it does: Adds a BillboardGui over every player’s head, visible to all—perfect for public name tags, ranks, or health bars.

    lua — ServerScriptService Script (global)
    local Players = game:GetService("Players")
    
    local function addOverheadBillboard(character, player)
        local head = character:WaitForChild("Head", 10)
        if not head then return end
    
        -- Remove old BillboardGui if it exists
        local old = head:FindFirstChild("OverheadName")
        if old then old:Destroy() end
    
        local billboard = Instance.new("BillboardGui")
        billboard.Name = "OverheadName"
        billboard.Adornee = head
        billboard.Size = UDim2.new(0, 200, 0, 50)
        billboard.StudsOffset = Vector3.new(0, 3, 0)
        billboard.AlwaysOnTop = true
        billboard.MaxDistance = 150 -- hides when far away
        billboard.Parent = head
    
        local label = Instance.new("TextLabel")
        label.Size = UDim2.fromScale(1, 1)
        label.BackgroundTransparency = 1
        label.Text = string.lower(player.Name) -- lowercase name
        label.TextScaled = true
        label.Font = Enum.Font.GothamBold
        label.TextColor3 = Color3.new(1, 1, 1)
        label.TextStrokeTransparency = 0
        label.TextStrokeColor3 = Color3.new(0, 0, 0)
        label.Parent = billboard
    end
    
    local function onCharacterAdded(character, player)
        addOverheadBillboard(character, player)
    end
    
    local function onPlayerAdded(player)
        player.CharacterAdded:Connect(function(char)
            onCharacterAdded(char, player)
        end)
        if player.Character then
            onCharacterAdded(player.Character, player)
        end
    end
    
    Players.PlayerAdded:Connect(onPlayerAdded)
    for _, p in ipairs(Players:GetPlayers()) do
        onPlayerAdded(p)
    end

    Pros: everyone sees everyone’s text; auto-works for new players. Cons: a bit more complex; add conditions if only some players should see labels.

    🏆 Optional: Combined Approach (Global name + personal extra)

    Keep the server script for global name tags, and add this LocalScript in StarterPlayerScripts to append a small personal note under your own name.

    lua — LocalScript add-on (personal subtitle)
    local Players = game:GetService("Players")
    local player = Players.LocalPlayer
    
    local function addPersonalSubtitle(character)
        local head = character:WaitForChild("Head", 5)
        if not head then return end
        local board = head:FindFirstChild("OverheadName")
        if not board then return end
    
        -- Add a small label UNDER your own name that only you can see
        local sub = Instance.new("TextLabel")
        sub.AnchorPoint = Vector2.new(0.5, 0.5)
        sub.Position = UDim2.fromScale(0.5, 1.25) -- below main label
        sub.Size = UDim2.fromOffset(200, 22)
        sub.BackgroundTransparency = 1
        sub.Text = "this is me!"
        sub.TextScaled = true
        sub.Font = Enum.Font.Gotham
        sub.TextColor3 = Color3.fromRGB(230, 230, 230)
        sub.TextStrokeTransparency = 0
        sub.TextStrokeColor3 = Color3.new(0, 0, 0)
        sub.Parent = board
    end
    
    if player.Character then addPersonalSubtitle(player.Character) end
    player.CharacterAdded:Connect(addPersonalSubtitle)

    Best practices & FAQ

    • Use StudsOffset = Vector3.new(0, 3, 0) to keep text off the head.
    • AlwaysOnTop = true prevents the tag from hiding behind parts.
    • For performance in busy servers, set MaxDistance (e.g., 100–150).
    • Prefer TextStroke for readability over bright colors.

    Why “Roblox Studio” vs “Roblox Studios”? The official product is “Roblox Studio” (singular), but this page targets the search phrase how to make a text above your name roblox studios for SEO reach.