open source noclip no gui
Key RequiredUniversal

open source noclip no gui

Universal Scriptmod3mod3 957 views 29 executesUpdated Aug 19, 2025
0.0/ 5(1 votes)
010% Positive
Lua Script•97 lines (3069 chars)
-- LocalScript for GUI-less Noclip
-- This script has been updated to use the Insert key instead of Delete.

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local UserInputService = game:GetService("UserInputService")
local StarterGui = game:GetService("StarterGui")

local player = Players.LocalPlayer
local noclipEnabled = false
local waitingForNewKey = false

-- Default keybinds
local toggleKey = Enum.KeyCode.N
local setKeybindKey = Enum.KeyCode.Insert -- Changed from Enum.KeyCode.Delete
local toggleInputKey = Enum.KeyCode.End

-- Notification function
local function notify(title, text, duration)
    StarterGui:SetCore("SendNotification", {
        Title = title,
        Text = text,
        Duration = duration or 2
    })
end

-- Function to set the noclip state
local function setNoclipState(enabled)
    local char = player.Character
    if not char then return end

    noclipEnabled = enabled

    -- Provide feedback to the user
    if enabled then
        notify("Noclip", "Noclip is now ON.")
    else
        notify("Noclip", "Noclip is now OFF.")
    end

    -- Set the CanCollide property for all parts in the character
    for _, part in ipairs(char:GetDescendants()) do
        if part:IsA("BasePart") or part:IsA("MeshPart") then
            part.CanCollide = not enabled
        end
    end
end

-- This function runs every frame to ensure the noclip is locked
RunService.Stepped:Connect(function()
    if noclipEnabled then
        local char = player.Character
        if char then
            -- Re-apply noclip state to all parts to override game scripts
            for _, part in ipairs(char:GetDescendants()) do
                if (part:IsA("BasePart") or part:IsA("MeshPart")) and part.CanCollide == true then
                    part.CanCollide = false
                end
            end
        end
    end
end)

-- Update noclip state when character is added (after reset)
player.CharacterAdded:Connect(function()
    if noclipEnabled then
        setNoclipState(true)
    end
end)

----------------------------------------------------------------------------------------------------

-- Main keybind handler
UserInputService.InputBegan:Connect(function(input, gameProcessed)
    if gameProcessed then return end

    -- Check if we are waiting for a new keybind
    if waitingForNewKey and input.UserInputType == Enum.UserInputType.Keyboard then
        -- Set the new toggle key
        toggleKey = input.KeyCode
        waitingForNewKey = false
        notify("Noclip", "New toggle key set to: " .. toggleKey.Name)
        return
    end

    -- Handle the keybinds only if not waiting for a new key
    if not waitingForNewKey then
        -- Toggle noclip on/off
        if input.KeyCode == toggleKey then
            setNoclipState(not noclipEnabled)
        -- Enter keybind setting mode
        elseif input.KeyCode == setKeybindKey then
            waitingForNewKey = true
            notify("Noclip", "Press a key to set as the new noclip toggle.", 5)
        end
    end
end)

Features & Information

press delete to make a new keybind toggle

Community Comments (0)

No comments yet for this script.

More Scripts for Universal Scripts