I've never had trouble doing this before, but recently I set up locomotion on a character, and set up some upper body animations with mixing transforms, and set them to a higher layer than all the animations that are being used in my locomotion system. I looked at the animation in the editor and every single upper body bone has curves.
When I set the animation to play, it only shows when I'm not moving, as soon as I start moving locomotion takes over.
I KNOW I've done this before without issue, what gives?
It should work just fine. If it doesn't, it's hard to say why without actually investigating what is happening.
Have you inspected the state of the animation states while they're supposed to be playing and have effect? You can inspect animation states of an Animation component by enabling Debug mode of the Inspector and fold out the Animation States list. At the time when it should have effect, is the animation in question enabled, have a non-zero weight and is in the layer you expect it to? Is the time progressing as expected? Are any of the other animations in the same layer or higher?
I had the same problem, I’m using several locomotiongroups for my character like in the Bootcamp-Example, some for crouching and some for standing. AddMixingTransform for upperbodyanimation only worked with the crouchgroups. On normalgroups it looked like the upperbodyanimation has only 50% of weight. When I increased the weight up to 10 it was completely overtaken, but fading the weights looked strange.
Then I figured out mixing transforms works correctly with locomotiongroups set to blendMode additive!