[SOLVED] Actions work and get screwed up, are inconsistent

Howdy!
I’m making FPS fist animations for a game in Unreal Engine. I’m using Blender 2.91.
Made a bunch of Actions, they seem to be working correctly, but only if you select them in a certain order, otherwise the Bone positioning gets a bit screwed up.
Here’s a 40 sec video showing the problem: https://files.catbox.moe/7ysf2k.webm

To explain what you just saw, let’s say I have 3 animations:
Weapon_Fists_1Raise
Weapon_Fists_4Block
Weapon_Fists_6AttackR
If I select 1, 4 and 6 in that order, they all display correctly, but if, say, I select 6 and then 4, the animation 4 gets screwed up, the Bone positioning ain’t right. But then if I select 1, then select 4 it works as intended again.

I’m thinking there might be something wrong with animation 6 that’s messing with the others? Don’t know what though.

Here’s a few details I’m providing that may or may not be useful in pinpointing the problem:

  1. my Skeleton/Armature has 3 layers, the one you see in the video is only 1 of those layers, others are hidden; when I Keyframe, only the Bones in this 1 layer are keyframed (maybe I should Keyframe ALL the Bones of the entire Rig everytime?);
  2. when making my animations, I Keyframe both Deformation and Control / IK / Utility Bones (said Bone types are the ones present in the aforementioned Bone Layer I’m using for keyframing);
  3. I created many “derived” animations so to speak, so let’s say I was doing Action 4, I finish making Action 4 and create a New Action from there in order to make Action 5 (in fact, in the Action Editor, you can see next to the Fake User button that some actions have a number next to them, like “2”, and when I hover over it with my mouse it says “Display number of users of this data (click to make a single-user copy)”)
  4. I didn’t touch the NLA Editor at all yet, I didn’t “Push Down” anything

I’m still pretty new to animation, and I’d really like to avoid breaking my animations. I’m pretty happy with them and I’m a bit disappointed that they seem to be so inconsistent.

So at the end of the day my question is: how do I make it so that individual animations work as intended “out of the box”, without me having to select them in a specific order for them to work properly? So let’s say I wanna test animation 6, I wanna be able to select that and be done with it, instead of first having to select animation 5 and then 6 lest it doesn’t display as it should

ATTENTION!
Found out what the problem was, and that very simply the animations were not properly keyframed: the issue was that not all animations had a “begin state” keyframe, or rather, that their “begin state” was inside other animations, causing dependency issues, and issues with wrong posing being inherited by other animations that also have dependency issues (also I went over every keyframe and inset “Avaiable” on each one).

So I went through every animation making sure they were “airtight”, meaning they could be selected individually and work in a proper manner independently, without first having to select other animations and therefore removing dependencies/inheritments.

In order to make my Actions “airtight”, I did the following things:

  1. in the Pose Library, I created a new Pose Library containing “Begin State” poses: these are poses the very first frame (or in some cases, frame 0, for very fast animations, like punches) is gonna use. For my fist animations I created 3: ArmsLowered, FistsRaised, Blocking
  2. I go to the animations that had dependency issues (i.e. those that would not display properly unless I selected others first) and make sure that on frame 1 and on the last frame a “Begin State” pose is present.
    So for example, for my attack animations, I make sure the “Begin State” pose “FistsRaised” is present on the first frame, and that the animation will return to that same pose when it ends
  3. just to be 100% sure, I go over every keyframe > press I > select “Avaiable”. Some may deem this measure excessive, but if I’m going scorched-Earth on this is 'cause I wanna be 1000000% sure nothing breaks later on, makes me sleep at night eh

That is all, hope this helps other fellas facing the same issue.
Happy Blendin’


EDIT: On second thought, I think Insetting “Avaiable” for ALL keyframes is a bit overkill. Insetting “Avaiable” just for the beginning frame and final frame should be enough to make the Action “airtight”. Not sure, will require further testing