local RunService = game:GetService("RunService") local UserInputService = game:GetService("UserInputService") local Players = game:GetService("Players") local player = Players.LocalPlayer local noclipEnabled = false -- Function to loop through character parts and turn off collisions local function onStepped() if not noclipEnabled then return end local character = player.Character if character then for _, part in pairs(character:GetDescendants()) do if part:IsA("BasePart") and part.CanCollide == true then part.CanCollide = false end end end end -- Toggle Logic UserInputService.InputBegan:Connect(function(input, gameProcessed) if gameProcessed then return end if input.KeyCode == Enum.KeyCode.N then noclipEnabled = not noclipEnabled print("Noclip Test: " .. (noclipEnabled and "ENABLED" or "DISABLED")) end end) -- Connect to Stepped (Runs every physics frame) -- We must do this constantly because Roblox tries to reset collisions automatically RunService.Stepped:Connect(onStepped)