If you ever just need a basic setup and DON'T WANT your animations to inherit changes from previously played animations, use this FANCY NEW AnimationState.cs
!
Copy this file and replace the AnimationState.cs
file in your Unity project with it.
https://gist.github.com/pharan/77c8ab0880c33716acb8
It handles resetting with or without mixing and removes the need to think about/manage which keys should be where and which animations should have which keys (this is admittedly a bit difficult to do at the moment, especially when you have lots and lots of bones, slots and other items in your animations).
If you have opinions on that matter, please chime in below with a reply! Do you think it should be default? What about the people who don't want the behavior? What setup do you use? Does this work with your project or not?
NOTE TO NEW READERS:
This post originally had an old recommendation which people were talking about below.
That simple script has since been replaced with the AnimationState replacement above. Please disregard the conversation below regarding mixing.
Random words so this thread is search friendly:
Preventing skeletons from inheriting the poses from previously played animations.
animation stuck previous
Auto-reset Autoreset SetToSetupPose