Collision Problem

Hello, so basically i’m making a system where it makes your character fall on the ground i’ll provide a picture, i dont really know how collision works. but i tried coding it so i uses for i,v in pairs to detect all baseparts and set them to can collide but it sometimes can’t pass trough walls

		for i,v in pairs(Character:GetDescendants()) do
			if v:IsA("BasePart") then
				    v.CanCollide = false
				if not (v.Name == "HumanoidRootPart") then
					v.Transparency = 0.5					
				end
			end
		end

You can use CollisionGroup instead.
You can go to model then go to advanced then go to CollisionGroups
There you can make which group can collide with which group.
To change a part group simply write

Part.CollisionGroup = "Your_Group_Name"