Roblox Name Esp Script Work For Mobile And Pc May 2026
Despite the risks, demand remains high because:
Roblox has evolved far beyond a simple gaming platform; it is a sprawling universe of user-generated experiences. From intense PvP battlegrounds like Arsenal to mysterious horror games like The Mimic, knowing where your opponents or friends are can grant a massive advantage. This is where ESP (Extra Sensory Perception) scripts come into play. Roblox Name Esp Script Work for Mobile and Pc
Specifically, Name ESP is the most fundamental and sought-after cheat feature. It allows you to see player names, distances, and health bars through walls. But the biggest challenge has always been cross-compatibility: getting a script that works seamlessly on both Mobile (iOS/Android) and PC (Windows/Mac). Despite the risks, demand remains high because: Roblox
In this comprehensive guide, we will break down what Name ESP is, how it works on different devices, where to find reliable scripts, and the risks involved. Specifically, Name ESP is the most fundamental and
-- 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)