hitbox Script [UPDATED]
Key RequiredUniversal

hitbox Script [UPDATED]

Universal ScriptPotatoGuyPotatoGuy 5.3K views 2.1K executesUpdated Jul 27, 2025
2.5/ 5(2 votes)
1150% Positive
Lua Script•215 lines (6348 chars)
-- Services
local Players = game:GetService("Players")
local LocalPlayer = Players.LocalPlayer

-- Storage for persistent hitboxes
local savedHitboxes = {}
local connections = {}

-- Create GUI
local screenGui = Instance.new("ScreenGui", game.CoreGui)
screenGui.Name = "HitboxGui"

local frame = Instance.new("Frame", screenGui)
frame.Size = UDim2.new(0, 300, 0, 285)
frame.Position = UDim2.new(0.5, -150, 0.5, -140)
frame.BackgroundColor3 = Color3.fromRGB(100, 100, 100)
frame.Active = true
frame.Draggable = true

-- 🔹 TOP GRAY BAR
local topBar = Instance.new("Frame", frame)
topBar.Size = UDim2.new(1, 0, 0, 30)
topBar.BackgroundColor3 = Color3.fromRGB(60, 60, 60)

local title = Instance.new("TextLabel", topBar)
title.Size = UDim2.new(1, 0, 1, 0)
title.Text = "Hitbox GUI"
title.BackgroundTransparency = 1
title.TextColor3 = Color3.new(1,1,1)

-- Minimize Button
local minimize = Instance.new("TextButton", frame)
minimize.Text = "-"
minimize.Size = UDim2.new(0, 30, 0, 25)
minimize.Position = UDim2.new(1, -70, 0, 2)
minimize.BackgroundColor3 = Color3.fromRGB(150, 0, 0)
minimize.TextColor3 = Color3.new(1, 1, 1)

-- Exit Button
local exit = Instance.new("TextButton", frame)
exit.Text = "X"
exit.Size = UDim2.new(0, 30, 0, 25)
exit.Position = UDim2.new(1, -35, 0, 2)
exit.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
exit.TextColor3 = Color3.new(1, 1, 1)

local minimized = false

-- UI Elements
local playerLabel = Instance.new("TextLabel", frame)
playerLabel.Text = "Player Username"
playerLabel.Size = UDim2.new(0, 280, 0, 20)
playerLabel.Position = UDim2.new(0, 10, 0, 40)
playerLabel.BackgroundTransparency = 1
playerLabel.TextColor3 = Color3.new(1, 1, 1)

local playerBox = Instance.new("TextBox", frame)
playerBox.PlaceholderText = "Enter Username"
playerBox.Size = UDim2.new(0, 280, 0, 30)
playerBox.Position = UDim2.new(0, 10, 0, 60)

local sizeLabel = Instance.new("TextLabel", frame)
sizeLabel.Text = "Hitbox Size"
sizeLabel.Size = UDim2.new(0, 280, 0, 20)
sizeLabel.Position = UDim2.new(0, 10, 0, 95)
sizeLabel.BackgroundTransparency = 1
sizeLabel.TextColor3 = Color3.new(1, 1, 1)

local sizeBox = Instance.new("TextBox", frame)
sizeBox.PlaceholderText = "e.g. 50 or 100"
sizeBox.Size = UDim2.new(0, 280, 0, 30)
sizeBox.Position = UDim2.new(0, 10, 0, 115)

local setButton = Instance.new("TextButton", frame)
setButton.Text = "Set HitBox"
setButton.Size = UDim2.new(0, 280, 0, 35)
setButton.Position = UDim2.new(0, 10, 0, 155)
setButton.BackgroundColor3 = Color3.fromRGB(80, 80, 80)
setButton.TextColor3 = Color3.new(1, 1, 1)

local resetButton = Instance.new("TextButton", frame)
resetButton.Text = "Reset HitBox"
resetButton.Size = UDim2.new(0, 280, 0, 35)
resetButton.Position = UDim2.new(0, 10, 0, 195)
resetButton.BackgroundColor3 = Color3.fromRGB(80, 80, 80)
resetButton.TextColor3 = Color3.new(1, 1, 1)

local setAllButton = Instance.new("TextButton", frame)
setAllButton.Text = "Set HitBox to ALL Players"
setAllButton.Size = UDim2.new(0, 280, 0, 35)
setAllButton.Position = UDim2.new(0, 10, 0, 235)
setAllButton.BackgroundColor3 = Color3.fromRGB(0, 120, 0)
setAllButton.TextColor3 = Color3.new(1, 1, 1)

---------------------------------------------------
-- APPLY HITBOX
---------------------------------------------------
local function applyHitbox(player, size)
	if not player then return end

	savedHitboxes[player.Name] = size

	local function apply(character)
		local root = character:WaitForChild("HumanoidRootPart", 5)
		if root then
			root.Size = Vector3.new(size, size, size)
			root.Color = Color3.fromRGB(255, 0, 0)
			root.Transparency = 0.8
			root.Material = Enum.Material.Neon
			root.CanCollide = false
		end
	end

	if player.Character then
		apply(player.Character)
	end

	if connections[player] then
		connections[player]:Disconnect()
	end

	connections[player] = player.CharacterAdded:Connect(function(char)
		task.wait(0.5)
		if savedHitboxes[player.Name] then
			apply(char)
		end
	end)
end

---------------------------------------------------
-- RESET SINGLE PLAYER
---------------------------------------------------
local function resetHitbox(player)
	if not player then return end

	savedHitboxes[player.Name] = nil

	if connections[player] then
		connections[player]:Disconnect()
		connections[player] = nil
	end

	if player.Character and player.Character:FindFirstChild("HumanoidRootPart") then
		local root = player.Character.HumanoidRootPart
		root.Size = Vector3.new(2, 2, 1)
		root.Transparency = 0
		root.Material = Enum.Material.Plastic
		root.Color = Color3.fromRGB(255,255,255)
		root.CanCollide = true
	end
end

---------------------------------------------------
-- RESET ALL
---------------------------------------------------
local function resetAll()
	for _, player in pairs(Players:GetPlayers()) do
		resetHitbox(player)
	end
end

---------------------------------------------------
-- MINIMIZE
---------------------------------------------------
minimize.MouseButton1Click:Connect(function()
	minimized = not minimized
	for _, child in pairs(frame:GetChildren()) do
		if child ~= minimize and child ~= exit and child ~= topBar then
			child.Visible = not minimized
		end
	end
	frame.Size = minimized and UDim2.new(0, 300, 0, 35) or UDim2.new(0, 300, 0, 285)
end)

---------------------------------------------------
-- EXIT = FULL RESET + DELETE
---------------------------------------------------
exit.MouseButton1Click:Connect(function()
	resetAll()
	screenGui:Destroy()
end)

---------------------------------------------------
-- SET ONE
---------------------------------------------------
setButton.MouseButton1Click:Connect(function()
	local username = playerBox.Text
	local size = tonumber(sizeBox.Text)

	local player = Players:FindFirstChild(username)
	if player and size then
		applyHitbox(player, size)
	end
end)

---------------------------------------------------
-- RESET BUTTON (ALL)
---------------------------------------------------
resetButton.MouseButton1Click:Connect(function()
	resetAll()
end)

---------------------------------------------------
-- SET ALL
---------------------------------------------------
setAllButton.MouseButton1Click:Connect(function()
	local size = tonumber(sizeBox.Text)
	if not size then return end

	for _, player in pairs(Players:GetPlayers()) do
		if player ~= LocalPlayer then
			applyHitbox(player, size)
		end
	end
end)

Features & Information

universal hitbox size script

Community Comments (1)

PotatoGuyPotatoGuyJul 27, 2025

sometimes works, but sometimes it doesnt, but it can also works in a game called Sheriff Vs Murderers

More Scripts for Universal Scripts