Character interacting with soft mesh or with another character

Hello, so I wanna make an animation shot. But I have a question, I am still new to animation and I just finished the fundamentals on blender cloud. Animation just one character seems easy enough but how about when th character is interacting with objects or other character.
Like if the character had a fight scene and if they puch the other character and that their face will deform or something. Or when they touch a pillow and that it deform following the shape of the hand or something like that.
Do we use constraint, driver or add ons, could use some help please. Thank you.