R15 body scale
Key RequiredUniversal

R15 body scale

Universal Scriptwejnerxwejnerx 1.6K views 226 executesUpdated Jan 18, 2026
5.0/ 5(1 votes)
10100% Positive
Lua Script•104 lines (3183 chars)
local Players = game:GetService("Players")
local player = Players.LocalPlayer
local char = player.Character or player.CharacterAdded:Wait()
local humanoid = char:WaitForChild("Humanoid")

if humanoid.RigType ~= Enum.HumanoidRigType.R15 then
    warn("ONLY R15 SUPPORTED")
    return
end

-- Save original sizes
local originalSizes = {}
for _, part in ipairs(char:GetChildren()) do
    if part:IsA("BasePart") then
        originalSizes[part.Name] = part.Size
    end
end

-- GUI
local gui = Instance.new("ScreenGui")
gui.Name = "ExactR15Scaler"
gui.Parent = game.CoreGui

local main = Instance.new("Frame", gui)
main.Size = UDim2.fromScale(0.32, 0.65)
main.Position = UDim2.fromScale(0.34, 0.18)
main.BackgroundColor3 = Color3.fromRGB(22,22,22)
main.Active = true
main.Draggable = true
Instance.new("UICorner", main).CornerRadius = UDim.new(0, 12)

local title = Instance.new("TextLabel", main)
title.Size = UDim2.fromScale(1, 0.08)
title.Text = "R15 BODY SCALE (NUMERIC)"
title.TextScaled = true
title.Font = Enum.Font.GothamBold
title.TextColor3 = Color3.new(1,1,1)
title.BackgroundTransparency = 1

-- Editor creator
local function createEditor(text, y, partName)
    local label = Instance.new("TextLabel", main)
    label.Position = UDim2.fromScale(0.05, y)
    label.Size = UDim2.fromScale(0.5, 0.06)
    label.Text = text
    label.TextScaled = true
    label.Font = Enum.Font.Gotham
    label.TextColor3 = Color3.new(1,1,1)
    label.BackgroundTransparency = 1

    local box = Instance.new("TextBox", main)
    box.Position = UDim2.fromScale(0.6, y)
    box.Size = UDim2.fromScale(0.3, 0.06)
    box.PlaceholderText = "1.0"
    box.ClearTextOnFocus = false
    box.Text = ""
    box.TextScaled = true
    box.Font = Enum.Font.Gotham
    box.TextColor3 = Color3.new(1,1,1)
    box.BackgroundColor3 = Color3.fromRGB(40,40,40)
    Instance.new("UICorner", box)

    box.FocusLost:Connect(function(enterPressed)
        if not enterPressed then return end
        local value = tonumber(box.Text)
        if value and value > 0.1 and value <= 10 then
            local part = char:FindFirstChild(partName)
            if part and originalSizes[partName] then
                part.Size = originalSizes[partName] * value
            end
        end
    end)
end

-- BODY PARTS (R15)
createEditor("HEAD",        0.10, "Head")
createEditor("UPPER TORSO", 0.18, "UpperTorso")
createEditor("LOWER TORSO", 0.26, "LowerTorso")

createEditor("LEFT ARM",    0.36, "LeftUpperArm")
createEditor("RIGHT ARM",   0.44, "RightUpperArm")

createEditor("LEFT LEG",    0.54, "LeftUpperLeg")
createEditor("RIGHT LEG",   0.62, "RightUpperLeg")

-- RESET
local reset = Instance.new("TextButton", main)
reset.Position = UDim2.fromScale(0.2, 0.72)
reset.Size = UDim2.fromScale(0.6, 0.08)
reset.Text = "RESET ALL"
reset.TextScaled = true
reset.Font = Enum.Font.GothamBold
reset.TextColor3 = Color3.new(1,1,1)
reset.BackgroundColor3 = Color3.fromRGB(170,60,60)
Instance.new("UICorner", reset)

reset.MouseButton1Click:Connect(function()
    for name, size in pairs(originalSizes) do
        local part = char:FindFirstChild(name)
        if part then
            part.Size = size
        end
    end
end)

Features & Information

K

Community Comments (6)

I_eat_kidsI_eat_kidsJan 20, 2026

Filter enabled?

Replying to @I_eat_kids
wejnerxwejnerxJan 21, 2026

@I_eat_kids I don't understand

Replying to @wejnerx
I_eat_kidsI_eat_kidsJan 24, 2026

@majwejner Is it fe? Like people can see you?

Replying to @I_eat_kids
wejnerxwejnerxJan 24, 2026

@I_eat_kids yes

baiter_baiterbaiter_baiterJan 27, 2026

its visual, no one else sees it

Replying to @baiter_baiter
1231322132132312313221321323Feb 17, 2026

@baiter_baiter Client Side?

More Scripts for Universal Scripts