-- LocalScript -- Mobile GUI toggle for auto enabling collisions -- Keeps all avatar parts collidable except HumanoidRootPart local player = game.Players.LocalPlayer local character = player.Character or player.CharacterAdded:Wait() local autoCollision = false local loopConnection = nil -- Function to enable collision local function enableCollision(char) for _, part in ipairs(char:GetDescendants()) do if part:IsA("BasePart") and part.Name ~= "HumanoidRootPart" then part.CanCollide = true end end end -- Start auto collision local function startAutoCollision() if loopConnection then return end loopConnection = game:GetService("RunService").Heartbeat:Connect(function() local char = player.Character if char then enableCollision(char) end end) end -- Stop auto collision local function stopAutoCollision() if loopConnection then loopConnection:Disconnect() loopConnection = nil end end -- GUI Setup local screenGui = Instance.new("ScreenGui") screenGui.Name = "CollisionToggleGui" screenGui.Parent = player:WaitForChild("PlayerGui") local button = Instance.new("TextButton") button.Size = UDim2.new(0, 180, 0, 50) button.Position = UDim2.new(0.5, -90, 0.8, 0) button.Text = "Collision: OFF" button.BackgroundColor3 = Color3.fromRGB(50, 50, 50) button.TextColor3 = Color3.fromRGB(255, 255, 255) button.TextScaled = true button.Parent = screenGui -- Toggle button function button.MouseButton1Click:Connect(function() autoCollision = not autoCollision if autoCollision then button.Text = "Collision: ON" button.BackgroundColor3 = Color3.fromRGB(0, 170, 0) startAutoCollision() else button.Text = "Collision: OFF" button.BackgroundColor3 = Color3.fromRGB(50, 50, 50) stopAutoCollision() end end) -- Update character reference on respawn player.CharacterAdded:Connect(function(char) character = char end)