Problem with root motion - Animation not playing correctly and not transitioning properly
So basically, I have a character that moves around without root motion most of the time, however when it comes to climbing ledges I turn on root motion and let the animation move the character up the ledge. This works well in every area apart from one and I have no idea why: If the character is moving slowly off a ledge, an animation plays where the character holds the ledge beneath and drops down while holding onto the ledge and ends up dangling from it (so walking (no root motion) > grab-beneath animation (root motion) > grabbing state (no root motion)). The grab beneath animation does not play as intended as the character just sits in place and the animation plays out in the same spot. After that, when transitioning into the grabbing state animation, the model moves upwards suddenly (the capsule collider that is the character stays in place and the model shoots up slightly out of the center). When entering the grabbing state in an alternate method (grabbing on in mid air) the character does not do this, it's only happening when transitioning FROM the grab-beneath animation. The grab-beneath animation works NO DIFFERENTLY from the animations where the character climbs up ledges (walk (no root motion) > climb ledge animation (root motion) > walk (no root motion)) which work exactly as intended and essentially use the same code. I know there's nothing in my scripts affecting this so it's purely based on the animations and their settings.
The model is rigged as a Humanoid (otherwise the root motion movement doesn't work), the animations where root motion is applied are not set to loop while the ones it transitions to and from are... Not sure what else I can explain. Is there any way to just have my animations play like I made them to? Root motion seems to be messing with them but I have no idea how else to program these actions (I tried before where I would set the collider to go to where the model is (had the model as a child object to a capsule collider) however this would cause an unavoidable flicker as there's no way to have the collider go to the position of the model without moving the model further along as the model is a set distance away from the collider).
So, why isn't the animation playing out like it should? And why is the origin of the model changing after this particular transition?