How to move Character along world floor?

i have a character (3rd person) and i want him to walk along the world so i can stop it from climbing steep hills because every time i go to walk into a wall he just goes straight through it (the wall has a collider) this does it with every object i try it with, i walk into a cube and my character just fly’s straight into the air on top of it. if anyone knows another solution to my problem a answer would be amazing
thanks

Don’t use transform.position or transform.Translate, those are equivalent to teleportation. Use CharacterController.Move or SimpleMove, or Rigidbody.AddForce instead.

As @Loiuzein said, you should not modify the position of a rigidbody directly or via Translate. Use Rigidbody.AddForce, but set a reasonable Drag value, or your character will not stop moving when you remove the force.