Hey, sorry for the delay. So it seems to me like you are doing a little more work than really needed. Ill work you through how I would do it If I were to add crouching.
So first off, I would most likely create a new Enum called something like “Body Position”. I would add 3 enumerators, Standing, Crouching, and Prone. This would help to keep things more organized in the long run so I wouldn’t have to deal with a bunch of Booleans.
Then, I would add that enum to the Component, and make a new custom event allowing me to switch it. I would also call the Update Camera Dispatcher and fire the Update Movement Speed Event.
I could then feed that Enum into wherever I wanted in any graph, similar to how locomotion state works.
In the CharacterBP I could use the Input action to call the event in the component, and set it to toggle Standing or Crouching.
Now that the neccessary logic has been added to switch the Enum, I could add it into the AnimBP, so that it can be used there. Then I would make sure the value would get updated properly. The easiest way to do that would be to add it in the ‘Get Variables From Pawn’ function, and update it to whatever the value from the component is.
At that point I would be free to add that enum anywhere I please into any part of the Event Graph or Animgraph, again, similar to locomotion state. Its actually really simple to get the animations working properly. Because the Grounded State Machine is pretty basic, and contains neccessary transitions for Idle, Moving, and Stopping, there is no reason to add another state exclusively for crouching. It could share all the same states as normal locomotion, since the transition logic is all the same. In the Moving state, I would add a Blend Poses by Enum node using the Body position Node, and then hook up the proper blendspaces, making sure to add them to the ‘Locomotion’ sync group so the feet cycle properly when blending.
For Idle, its all up to you and how you want your Anims to blend together. You could add a completely new Idle state, and add the nessecary transitions (also add crouching to the Idle Entry Enum)…
Or, you could add the crouching anim into one of the idle states, if the blending works. All up to you.
Also, for stopping, I would just add another selector with Body Position and add the appropriate anims.
Hopefully this sets you on the right track. Once you start working with it more you will understand how flexible the system is designed to be. Let me know if this helps!