What is the best way to understand what action the player is doing? (Hitting, using abilities, etc.)

Is it better to use Bool Value to indicate what the player is doing, or is setAttribute better? or is it better to use a global variable?