Display Names Help

I am looking for any resources that can help with removing display names from my experience.

This blighted feature is making it impossible for my admin team to ban or moderate based off screenshot evidence, or take logs of activity from screenshots because the names are completley untraceable to actual Roblox characters.

I am unable to disable display names through editing any properties of the Player as Roblox has forbidden this.

Does anyone know of any solutions that don’t involve making an entirely custom leader board & chat menu?

I have found some resources that tell me to just edit the Player’s Humanoid’s Display name, however I would like to be able to change this + the name on the leader board + the name on the chat menu as well.

1 Like

Just add headtags Or leaderstats custom

Put In ServerScriptsStorage this head tags Only username

game.Players.PlayerAdded:Connect(function(player)
	-- Wait for the player's character to load
	player.CharacterAdded:Connect(function(character)
		-- Find the player's head
		local head = character:WaitForChild("Head")

		-- Create the BillboardGui (floating name tag)
		local billboardGui = Instance.new("BillboardGui")
		billboardGui.Adornee = head  -- Attach it to the head
		billboardGui.Size = UDim2.new(0, 200, 0, 50)  -- Fixed size of the name tag
		billboardGui.StudsOffset = Vector3.new(0, 2, 0)  -- Position above the head
		billboardGui.AlwaysOnTop = false  -- Disable "AlwaysOnTop" to let it be occluded by other objects

		-- Create a TextLabel to display the username
		local textLabel = Instance.new("TextLabel")
		textLabel.Size = UDim2.new(1, 0, 1, 0)  -- Fill the entire BillboardGui
		textLabel.BackgroundTransparency = 1  -- Make background invisible
		textLabel.Text = player.Name  -- Set the text to the player's username
		textLabel.TextColor3 = Color3.fromRGB(255, 255, 255)  -- White text
		textLabel.TextSize = 18  -- Fixed text size (does not scale with zoom)
		textLabel.TextStrokeTransparency = 0.8  -- Add a stroke for better visibility
		textLabel.TextStrokeColor3 = Color3.fromRGB(0, 0, 0)  -- Black stroke

		-- Parent the TextLabel to the BillboardGui
		textLabel.Parent = billboardGui

		-- Parent the BillboardGui to the head
		billboardGui.Parent = head
	end)
end)

You aren’t able to directly edit CoreGUIs like that. You’ll have to use a custom leaderboard that displays the Player’s username if you want to get rid of display names on the leaderboard.

Assuming that you’re using TextChatService, you can use .MessageReceived() to intercept messages sent by the client. Since .MessageReceived() returns a TextChatMessage object, you can get the PrefixText of the message (Basically the part of the chat before the actual message. For e.g. (Luke: Message), and the TextSource associated, which points to the Player who sent the message. Use string.gsub to replace the Display name of the Player in the Prefix text with the username.