How to prevent colliders from passing through each other using character controller?

I’m using sphere as a player…my player movement is performed by transform.position .the problem is my player passing through block like bellow pic.

35009-2nd.png

what to do to prevent colliders from passing through each other using either character controller or any other components?

Add rigridbody to your player, do not move your player by transform.position, use rigidbody.velocity or rigidbody.MovePosition() instead.