Roblox Name Esp Script Work For Mobile And Pc May 2026
A name ESP script in Roblox is typically used to display player names above their characters or in a radar/minimap, making it easier for players to identify each other. This can be particularly useful in games where player identification is crucial, such as first-person shooters or strategy games.
Crucial Mobile Tip: If names don't appear, your script likely uses Drawing which Android does not support. Find a script explicitly labeled "BillboardGui ESP."
-- Services
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local Camera = workspace.CurrentCamera
local LocalPlayer = Players.LocalPlayer
-- Configuration
local Settings =
Toggle = true, -- Turn ESP on/off
TeamCheck = false, -- If true, ESP will not show for teammates
MaxDistance = 1000, -- Only show players within this distance (helps mobile FPS)
TextSize = 14, -- Size of the name text
Color = Color3.fromRGB(255, 255, 255) -- Color of the text
-- Table to store ESP objects for each player
local ESP_Objects = {}
-- Function to create the ESP Drawing
local function CreateESP(player)
if ESP_Objects[player] then return end -- Prevent duplicates
local esp =
NameText = Drawing.new("Text"),
Connection = nil
esp.NameText.Size = Settings.TextSize
esp.NameText.Center = true
esp.NameText.Outline = true
esp.NameText.Color = Settings.Color
esp.NameText.Visible = false
ESP_Objects[player] = esp
-- Update loop for this specific player
esp.Connection = RunService.RenderStepped:Connect(function()
if not Settings.Toggle then
esp.NameText.Visible = false
return
end
-- Validation checks
if player and player.Character and player.Character:FindFirstChild("HumanoidRootPart") and player.Character:FindFirstChildOfClass("Humanoid") then
local humanoid = player.Character:FindFirstChildOfClass("Humanoid")
local rootPart = player.Character.HumanoidRootPart
-- Team Check Logic
if Settings.TeamCheck and player.Team and LocalPlayer.Team and player.Team == LocalPlayer.Team then
esp.NameText.Visible = false
return
end
-- Health Check (Don't show dead players)
if humanoid.Health <= 0 then
esp.NameText.Visible = false
return
end
-- Calculate Distance
local distance = (LocalPlayer.Character.HumanoidRootPart.Position - rootPart.Position).Magnitude
-- Distance Check (Optimization for Mobile)
if distance > Settings.MaxDistance then
esp.NameText.Visible = false
return
end
-- World to Screen Conversion
local screenPos, onScreen = Camera:WorldToViewportPoint(rootPart.Position)
if onScreen then
-- Position text above head
local headPos = Camera:WorldToViewportPoint(rootPart.Position + Vector3.new(0, 3, 0))
esp.NameText.Position = Vector2.new(headPos.X, headPos.Y)
esp.NameText.Text = string.format("%s [%d]", player.Name, math.floor(distance))
esp.NameText.Visible = true
else
esp.NameText.Visible = false
end
else
esp.NameText.Visible = false
end
end)
end
-- Function to remove ESP
local function RemoveESP(player)
if ESP_Objects[player] then
if ESP_Objects[player].Connection then
ESP_Objects[player].Connection:Disconnect()
end
if ESP_Objects[player].NameText then
ESP_Objects[player].NameText:Remove()
end
ESP_Objects[player] = nil
end
end
-- Handle existing players
for _, player in ipairs(Players:GetPlayers()) do
if player ~= LocalPlayer then
CreateESP(player)
end
end
-- Handle new players joining
Players.PlayerAdded:Connect(function(player)
CreateESP(player)
end)
-- Handle players leaving
Players.PlayerRemoving:Connect(function(player)
RemoveESP(player)
end)
Historically, many ESP scripts used " BillboardGuis" (3D GUIs that exist in the game world). While these work on mobile, they can be resource-heavy and are easily blocked by some anti-cheat systems.
The Drawing library used in the script above is rendered purely by the client's engine on a 2D overlay.
What is an ESP script? An ESP script is a type of script that allows players to see the names of other players through walls and obstacles.
Prerequisites:
Step 1: Create a new LocalScript
In Roblox Studio, create a new LocalScript by right-clicking in the Workspace and selecting "Insert Object" > "LocalScript".
Step 2: Get the necessary dependencies
In the LocalScript, add the following code to get the necessary dependencies:
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
Step 3: Create a function to draw ESP
Create a function that will draw the ESP labels:
local function drawESP(player)
local character = player.Character
if character then
local humanoid = character:FindFirstChild("Humanoid")
if humanoid then
local head = character:FindFirstChild("Head")
if head then
local name = player.Name
local distance = (head.Position - game.Players.LocalPlayer.Character.Head.Position).Magnitude
local label = Instance.new("BillboardGui")
label.Parent = head
label.AlwaysOnTop = true
label.Size = UDim2.new(1, 0, 1, 0)
local textLabel = Instance.new("TextLabel")
textLabel.Parent = label
textLabel.BackgroundTransparency = 1
textLabel.Text = name .. " (" .. math.floor(distance) .. "m)"
textLabel.TextSize = 20
textLabel.TextColor3 = Color3.new(1, 1, 1)
end
end
end
end
Step 4: Loop through players and draw ESP
Create a loop that will iterate through all players and draw the ESP labels:
while wait(1) do
for _, player in pairs(Players:GetPlayers()) do
if player ~= game.Players.LocalPlayer then
drawESP(player)
end
end
end
Step 5: Clean up
To prevent the ESP labels from piling up, add a simple clean-up function:
local function cleanUp()
for _, player in pairs(Players:GetPlayers()) do
local character = player.Character
if character then
local head = character:FindFirstChild("Head")
if head then
for _, child in pairs(head:GetChildren()) do
if child:IsA("BillboardGui") then
child:Destroy()
end
end
end
end
end
end
while wait(1) do
cleanUp()
end
Putting it all together
Here's the complete script:
local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local function drawESP(player)
local character = player.Character
if character then
local humanoid = character:FindFirstChild("Humanoid")
if humanoid then
local head = character:FindFirstChild("Head")
if head then
local name = player.Name
local distance = (head.Position - game.Players.LocalPlayer.Character.Head.Position).Magnitude
local label = Instance.new("BillboardGui")
label.Parent = head
label.AlwaysOnTop = true
label.Size = UDim2.new(1, 0, 1, 0)
local textLabel = Instance.new("TextLabel")
textLabel.Parent = label
textLabel.BackgroundTransparency = 1
textLabel.Text = name .. " (" .. math.floor(distance) .. "m)"
textLabel.TextSize = 20
textLabel.TextColor3 = Color3.new(1, 1, 1)
end
end
end
end
local function cleanUp()
for _, player in pairs(Players:GetPlayers()) do
local character = player.Character
if character then
local head = character:FindFirstChild("Head")
if head then
for _, child in pairs(head:GetChildren()) do
if child:IsA("BillboardGui") then
child:Destroy()
end
end
end
end
end
end
while wait(1) do
cleanUp()
for _, player in pairs(Players:GetPlayers()) do
if player ~= game.Players.LocalPlayer then
drawESP(player)
end
end
end
Mobile and PC Compatibility
This script should work on both mobile and PC, as it uses the BillboardGui instance, which is compatible with all platforms.
Note
Again, I want to emphasize that creating and using ESP scripts may violate Roblox's terms of service and can potentially harm the game experience for others. Use this script at your own risk. Additionally, this script may not work as-is in all games, as some games may have modifications that prevent ESP scripts from working.
ESP (Extra Sensory Perception) scripts in Roblox are external modifications that allow players to see hidden information, such as player locations through walls, health bars, and names.
While many versions of these scripts claim to work on both mobile and PC, using them carries significant risks. Core Features
Wallhacks: Renders boxes or outlines around players that are visible through solid objects.
Player Information: Displays real-time data like the player's name, current health, and distance from you.
Cross-Platform Support: These scripts are often written in Luau and designed to function via mobile or PC executors.
Customization: Many scripts allow you to toggle features, change colors, or adjust the thickness of outlines. Critical Risks & Consequences
Using any ESP script is a violation of the Roblox Terms of Service and involves several dangers:
Account Bans: Roblox has a zero-tolerance policy for cheating. Getting caught can lead to temporary suspension or permanent account deletion.
Malware & Data Loss: Many free scripts or "executors" used to run them contain hidden malware, keyloggers, or backdoors that can steal your passwords and browser cookies. Roblox Name Esp Script Work for Mobile and Pc
Phishing Scams: Some sites offering these scripts are actually phishing setups designed to trick you into entering your login credentials.
Unfair Advantage: These tools disrupt the competitive balance and ruin the experience for other players. The Reality of "Undetected" Scripts This is why you should Stop Downloading Roblox Cheats!
Roblox is a massive platform where competitive gameplay often hinges on spatial awareness and information. Among the various tools players use to gain an edge, Name ESP (Extra Sensory Perception) scripts are some of the most popular. These scripts function by highlighting player names and locations through solid objects, effectively granting "wallhack" capabilities. While the core logic of these scripts remains consistent, their implementation and performance vary significantly between PC and mobile environments.
The technical foundation of a Name ESP script usually involves iterating through the Players service in Roblox's engine. By using drawing libraries or BillboardGui objects, the script attaches a visual tag to every character model in the workspace. On a PC, these scripts are typically executed through third-party software that injects code into the Roblox client. Because PCs have higher processing power and more robust exploitation frameworks, these scripts can handle complex features like distance scaling, health bars, and color-coded team indicators without causing frame rate drops.
Mobile devices present a different set of challenges and opportunities for ESP scripts. Historically, executing scripts on iOS or Android was difficult due to the closed nature of mobile operating systems. However, the development of specialized mobile executors has bridged this gap. On mobile, Name ESP scripts must be highly optimized. Since mobile hardware is more prone to thermal throttling, scripts that use simpler BillboardGuis are preferred over those requiring heavy real-time rendering. Despite these hardware limitations, the advantage provided on mobile is often greater, as the smaller screen size and touch controls make natural situational awareness more difficult compared to a PC setup.
The cross-platform nature of Roblox means that a well-written ESP script can often work on both PC and mobile with minimal adjustments. Developers frequently use "Universal" scripts written in Luau that detect the environment and scale the UI accordingly. On PC, a player might see a clean, thin-font name tag, while on mobile, the script might generate larger, high-contrast text to ensure readability on a handheld screen. This versatility ensures that regardless of the device, the player maintains a constant visual lock on their opponents.
However, using such scripts carries significant risks across all devices. Roblox’s anti-cheat system, Hyperion (on PC) and various server-side checks, are constantly evolving to detect the memory spikes and unauthorized code injections associated with ESP. Beyond the risk of a permanent account ban, downloading scripts from unverified sources exposes both PC and mobile users to malware and data theft. While the tactical advantage of seeing names through walls is tempting, it fundamentally undermines the integrity of the game and places the user’s hardware and account security in jeopardy.
Creating a universal Name ESP (Extra Sensory Perception) script for Roblox that functions on both Mobile and PC requires addressing the differences in screen resolution, input methods, and performance capabilities.
Below is a comprehensive guide on how a Universal Name ESP script works, the code structure, and how to use it safely.
To understand why "Work for Mobile and PC" is a key search term, you need to understand how exploits work on each platform: A name ESP script in Roblox is typically