Help - Character adjusting parts to an uneven surface.

Hi, I would like to know if it is possible to make a character’s model feets adjust to the floor’s height dynamically. For example, if he is on stairs, he would have one foot on a step, and the other one on the other.
If it is possible, how is such system called? (And possibly a how to do it, could help, but I will still do researches on the subject as soon as I know the system’s naming ^^’ )