title: Make an object fall when it is near an edge using character controller
body: <p>I am using the unity's character controller tool.</p>
  
  <p>The problem is that if there exist below collision with the default character controler's capsule collider it won't slide down or fall unless could not detect any touch with a surface.</p>
  
  <p>This is how it looks like:
  <a href="https://i.stack.imgur.com/9yf5t.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/9yf5t.png" alt="enter image description here"></a></p>
  
  <p>I am using my own gravity just like this:</p>
  
  <pre><code>private void ApplyGravity() {
          if (!characterController.isGrounded) {
              gravity += Physics.gravity * Time.deltaTime * gravityFactor;
              if (gravity.y &gt; 0 &amp;&amp; !Input.GetButton(jumpButton))
                  gravity += Physics.gravity * Time.deltaTime * gravityFactor * (lowJumpMultiplier - 1);
          }
          else if (!isJumping) gravity = Vector3.down;
  
          CheckCollisionFlags();
          movement += gravity;
      }
  </code></pre>
  
  <p>I've not found any way of modifying the character controller's properties to apply any slippery or adding a new collider to take the collision.</p>
  
  <p>I already tried to reduce the capsule collider's radius but this results in a character that can go slightly through the walls.</p>
  
  <p>I've thought about using a number of rays to check if middle of the body is beyond the edge and then apply a force to make it fall, but I think could be an easier and more optimal way to solve this problem.</p>