Removing a mixing transform

I want my Attack animation to work with my Run animation, but take over my Idle animation. Is there a way to remove a mixing transform once I used AddMixingTransform, or do I have to create two sets of duplicate animations with one set receiving the mix transform? Thanks in advance!

Also encountered this problem.

I’d like to have an animated shootpose blended from shoulders during locomotion, but blended from root when in an idle state.

Problem is, when I AddMixingTransform the animation to root, it’s always present there and seems there’s no way to remove it.

I just found an extreme way of removing it.

On Start I create an ArrayList in C# and loop through all of the animation clips on the object using a foreach and store a copy of them using the undocumented command animation.GetClip(“name”);

I then use the AddMixingTransform command to limit the animations on my model. When I want to revert back, I call my Restore function which loops through the backup array that I created.

I use animation.RemoveClip(…) and then animation.AddClip(…, …); to add the backup back in.

Of course you need to set all the layers and weights again but it works.

There is currently no way to do that. When you change the mixing Unity has to perform some postprocessing step, that you dont want to incur on a per frame basis.

Best way to solve it is to just add a animationclip with a different name using the AddClip function, which creates a new animation state.
So you create two different animation states, with the same animation clip but different animation mixing setups. And then you cross fade the one you want for your specific situation.