Run it
Copy the script and paste it into your executor.
local player = game.Players.LocalPlayer
local character = player.Character or player.CharacterAdded:Wait()
local humanoidRootPart = character:WaitForChild("HumanoidRootPart")
-- Create Speedometer GUI
local screenGui = Instance.new("ScreenGui")
screenGui.Parent = player:WaitForChild("PlayerGui")
local frame = Instance.new("Frame")
frame.Size = UDim2.new(0.2, 0, 0.1, 0)
frame.Position = .(, , , )
frame.BackgroundColor3 = .(, , )
frame.BackgroundTransparency =
frame.Active =
frame.Draggable =
frame.Parent = screenGui
speedText = .()
speedText.Size = .(, , , )
speedText.Position = .(, , , )
speedText.BackgroundColor3 = .(, , )
speedText.TextColor3 = .(, , )
speedText.TextScaled =
speedText.Text =
speedText.Parent = frame
toggleButton = .()
toggleButton.Size = .(, , , )
toggleButton.Position = .(, , , )
toggleButton.BackgroundColor3 = .(, , )
toggleButton.TextColor3 = .(, , )
toggleButton.TextScaled =
toggleButton.Text =
toggleButton.Parent = frame
isSpeedometerOn =
toggleButton.MouseButton1Click:(()
isSpeedometerOn = isSpeedometerOn
speedText.Visible = isSpeedometerOn
toggleButton.Text = isSpeedometerOn
)
runService = :()
runService.Heartbeat:(()
isSpeedometerOn humanoidRootPart
speed = humanoidRootPart.Velocity.Magnitude
speedText.Text = .. .(speed)
)Simple speedometer GUI. Shows your current movement speed using HumanoidRootPart velocity. Features: - Draggable UI (works on mobile) - Live speed update - Toggle button to turn it on/off (only hides text) Nothing fancy, just works. Client-side.

Universal