Anim Graph - Getting, messy. How do I fix it?

I would recommend using Blend Spaces to merge some animations. For example, one usually uses Locomotion Blend space for idle-walk-run-strafeL-strafe-R-back. There there is only one node where you plug in you speed forward and side and it will give you the animation. I guess it also works with root motion if you are using it (haven’t tried that part). You can have several blend spaces and use the transition between them (one for crouching, normal state, ironsight …). Also, I would recommend the jump animation to be composed of 3 parts: start, loopable in air, end; this is only relevant if you can have variable in-jump durations. But if you have many states, the state graph will be messy.

Another organizational part is to use animation montages. For example, for all attacks/abilities, we use animation montage. You can then use it to overwrite the default motion, or just some parts of it. A typical setup is to have montages that only change upper part of the character and montages that change motion completely. With the multi-montage system, you can also have more than one montage playing at the same . For example, auto swings/punches could only animate upper body, still allowing you to move around freely (legs would still be animated correctly). Abilities that require all character to move could overwrite the whole animation.

The third possible organizational thing is that you could have some animation running additive on top of you animation graph. For example if jog and ironsight jog are almost the same, only ironsight is moving hands a bit more, you could composite that part with weight in the AnimGraph. As a bonus, you can use weight to smoothly transition into ironsight mode …

I hope this helps!