I’m struggling with wrapping my brain around how it works. The documentation about it is spotty at best. What I have is two models (both have mecanim controllers attached to them) and they are supposed to face each other. Sadly, what happens is that they face the way the animation was made. I’ve adjusted rotations on them so that they do face the way they are supposed to, but I’m consistently being told to use match.target.
My question is… How do you use match.target, and what good is it? I can’t find any examples of it being used so I can’t find any code to look at other than what is in the unity docs. The code in the unity docs doesn’t explain anything to me that I can make heads nor tails of. If someone would be so kind as to explain it in plain English that would be wonderful.
Thank you. 
I’ve never used it myself but the Manual page seems a lot more informative than the Scripting API page. Maybe that’ll help.
In simple terms match target allows your model to reach from one point to another point at the end of the animation. It sort of translates the model between the start and end point, where start point is the current point where the model is standing at the beginning of the animation. It takes the end point(target) position or even a Vector3 value will do, target rotation, matchtargetweightmask which is basically the priority the animation will give to more among the previous two parameters viz. position or rotation (Till now I have given no specific rotation) and also the starting and ending time of animation frame, the starting time is the point at which the match target will start and end time is the time in animation when the model will reach the target position.
I have made a video for the result I obtained using match target. It is basic parkour using raycasting and match target.
Link: