With AddMixingTransform, I can set specific transforms, that affect the animation. But is it possible to remove the set transforms? Because if the character holds a weapon, the animation "Walk" should only affect the legs and if the character is unarmed, it should affect the whole character.

        if(Animationen.IsPlaying("ArmedIdle")){
            Animationen["Walk"].blendMode=AnimationBlendMode.Additive;
            Animationen["Walk"].AddMixingTransform(RightLeg,true);
            Animationen["Walk"].AddMixingTransform(LeftLeg,true);
            Debug.Log("Additive Mode");
        }
        else{
            Animationen["Walk"].blendMode=AnimationBlendMode.Blend;
            Animationen["Walk"].AddMixingTransform(StartBone,true);
            Debug.Log("Blending Mode");
        }

I've not used this, but it sounds like the kind of thing you'd set up in Start, then use (or not). If you are not using it, set the transform to identity, seems like it would then not affect what it's attached to (??)

RemoveMixingTransform function doesn't exist, so you have to create a new animation state. There is a feature request for that.

Not really an answer, but I'd keep the walk animation always on legs only, and give the top of the body an "unarmedIdle" animation. Depending, you might be able to reuse the same frames from walk.