Invisible open source
Key RequiredUniversal

Invisible open source

Universal ScriptLuaFolloLuaFollo 2.2K views 6.5K executesUpdated Feb 19, 2026
5.0/ 5(2 votes)
20100% Positive
Lua Script•112 lines (3445 chars)
if _G.a then
    for _, connection in pairs(_G.a) do
        connection:Disconnect()
    end
    _G.a = nil
end

repeat task.wait() until game.Players.LocalPlayer
local LocalPlayer = game.Players.LocalPlayer

local Character = nil
local Humanoid = nil
local HumanoidRootPart = nil
local IsInvisible = false
local VisibleParts = {}

local function SetupCharacter()
    Character = LocalPlayer.Character or LocalPlayer.CharacterAdded:Wait()
    Humanoid = Character:WaitForChild("Humanoid")
    HumanoidRootPart = Character:WaitForChild("HumanoidRootPart")
    VisibleParts = {}

    for _, descendant in pairs(Character:GetDescendants()) do
        if descendant:IsA("BasePart") and descendant.Transparency == 0 then
            table.insert(VisibleParts, descendant)
        end
    end
end

local function CreateGUI()
    local ScreenGui = Instance.new("ScreenGui")
    local ToggleButton = Instance.new("TextButton")

    ToggleButton.Size = UDim2.new(0, 100, 0, 50)
    ToggleButton.Position = UDim2.new(0.5, -50, 0.1, 0)
    ToggleButton.Text = "Invisible"
    ToggleButton.BackgroundColor3 = Color3.fromRGB(255, 0, 0)
    ToggleButton.Parent = ScreenGui
    ScreenGui.Parent = LocalPlayer:WaitForChild("PlayerGui")

    local Dragging = false
    local DragStart = nil
    local StartPos = nil

    ToggleButton.InputBegan:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then
            Dragging = true
            DragStart = input.Position
            StartPos = ToggleButton.Position
        end
    end)

    ToggleButton.InputChanged:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseMovement and Dragging then
            local delta = input.Position - DragStart
            ToggleButton.Position = UDim2.new(StartPos.X.Scale, StartPos.X.Offset + delta.X, StartPos.Y.Scale, StartPos.Y.Offset + delta.Y)
        end
    end)

    ToggleButton.InputEnded:Connect(function(input)
        if input.UserInputType == Enum.UserInputType.MouseButton1 then
            Dragging = false
        end
    end)

    ToggleButton.MouseButton1Click:Connect(function()
        IsInvisible = not IsInvisible
        local transparency = IsInvisible and 0.5 or 0
        for _, part in pairs(VisibleParts) do
            part.Transparency = transparency
        end
    end)
end

SetupCharacter()
CreateGUI()

local Connections = {}

Connections[1] = LocalPlayer:GetMouse().KeyDown:Connect(function(key)
    if key == "g" then
        IsInvisible = not IsInvisible
        local transparency = IsInvisible and 0.5 or 0
        for _, part in pairs(VisibleParts) do
            part.Transparency = transparency
        end
    end
end)

Connections[2] = game:GetService("RunService").Heartbeat:Connect(function()
    if IsInvisible then
        local OriginalCFrame = HumanoidRootPart.CFrame
        local OriginalCameraOffset = Humanoid.CameraOffset

        local DownCFrame = OriginalCFrame * CFrame.new(0, -200000, 0)
        HumanoidRootPart.CFrame = DownCFrame
        Humanoid.CameraOffset = DownCFrame:ToObjectSpace(CFrame.new(OriginalCFrame.Position)).Position

        game:GetService("RunService").RenderStepped:Wait()

        HumanoidRootPart.CFrame = OriginalCFrame
        Humanoid.CameraOffset = OriginalCameraOffset
    end
end)

LocalPlayer.CharacterAdded:Connect(function()
    IsInvisible = false
    SetupCharacter()
    CreateGUI()
end)

_G.a = Connections

Features & Information

Toggle G
#invisible#invisible script#INVISIBLE

Community Comments (6)

Raffle_wRaffle_wFeb 20, 2026

thankyu

Replying to @Raffle_w
LuaFolloLuaFolloFeb 20, 2026

@Raffle_w np

ALTERRATICALTERRATICMar 5, 2026

w script, works in the game i need it to

Capybara_LoverCapybara_LoverMar 11, 2026

Keeps saying gameplay paused when I move my camera (I'm on mobile using delta btw) Please fix

CallmePibbleCallmePibbleJun 28, 2026

Mine works better I think

SerozzSerozzSep 26, 2026

works but if you shiftlock it will move your camera to the void so you can only play without shiftlock while invis

More Scripts for Universal Scripts