The Character class is part of the Game Framework that Unreal has by default in the engine.
The character class will spawn an instance of that animation blueprint attached to the character instance and run the code in the animation thread.
They don’t allow you to manipulate states because animations run on their own thread.
Instead they give you an API to ‘query’ stuff from the outside from the AnimBP.
So a lot of people do this weird thing of checking booleans every tick.
I particularly don’t do that… I use UProperty reflection to set values directly into the AnimBP, but Epic don’t want you to do that.