What's the process for animating two characters together?

Incorrect. it can be as dynamic as you need if you use a bone to animate what the position of the other actor has to be over time. The only restriction on “how” dynamic it can be, is that usually the character has to be of a specific height/size. otherwise you have to socket to the bone and manually adjust in order to accommodate all possible characters by just attaching them to a different socket.
When I say “attach” in this case you don’t actually have to attach anything. you can read socket location and set the character’s position on it over the course of the event running.