Roblox Name Esp Script Work For Mobile And Pc 📢
To understand why "Work for Mobile and PC" is a key search term, you need to understand how exploits work on each platform:
Most public scripts fail on mobile because they rely on the Camera:WorldToViewportPoint method without optimization. Here is a general architecture of a cross-platform compatible Name ESP script: Roblox Name Esp Script Work for Mobile and Pc
-- 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)
Using scripts, exploits, or third-party software to gain an unfair advantage in Roblox games is a violation of the Roblox Terms of Service. This can result in your account being permanently banned. The information below is for educational purposes regarding game security and scripting logic. To understand why "Work for Mobile and PC"
This site categorizes scripts by executor compatibility. Filter by "Mobile" and look for "Name Only ESP." They often include pastebin links with version history. Using scripts, exploits, or third-party software to gain
While many hubs are bloated, some lightweight hubs (like Nameless Hub) include a toggle for "Simple Name Tags." Because hubs are updated frequently, they adjust to Roblox anti-cheat patches better than standalone scripts.