
Key RequiredUniversal

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")
local localPlayer = Players.LocalPlayer
local trackedPlayers = {}
local function disableCanCollide(part)
if part:IsA("BasePart") and part.CanCollide then
part.CanCollide = false
end
end
local function trackCharacter(character)
-- Track all current parts for immediate effect
for _, part in pairs(character:GetChildren()) do
disableCanCollide(part)
end
-- Also track new parts added later
character.ChildAdded:Connect(function(child)
disableCanCollide(child)
end)
end
local function trackPlayer(player)
if player == localPlayer then return end
if player.Character then
trackCharacter(player.Character)
end
player.CharacterAdded:Connect(trackCharacter)
trackedPlayers[player] = true
end
-- Initial setup for existing players
for _, player in pairs(Players:GetPlayers()) do
trackPlayer(player)
end
-- Listen for new players
Players.PlayerAdded:Connect(trackPlayer)
-- Continuously force disabling CanCollide on all tracked players' characters every frame
RunService.RenderStepped:Connect(function()
for player, _ in pairs(trackedPlayers) do
local character = player.Character
if character then
for _, part in pairs(character:GetChildren()) do
disableCanCollide(part)
end
end
end
end)



credits to chatgpt