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.




Comments

One response to “How to Make Text Above Your Name in Roblox Studios”

  1. […] How to Make Text Above Your Name (BillboardGui) […]