Main script, that controls/manage all AI states and requests related actions (and animations). Script also conected to PathFinding system, it handles navigation activity.

Average structure looks like:

viewTrigger - Script attached to object used as view-field of AI. It's collider size useful for ranged attack distances too
pathFollower- Script to process PathFinding and PathFollowing
animatedObject - Object that contains visual player appearance and animations

enemyTag - Tag of object, that regarded as enemy
followAlly - If specified - AI will follow this object/character

enableRangedAttack - Enable range attack. Only mele is allowed if false

enablePatrol - If true - AI will patrol territory instead of simple Seeking

life - Initial/max amount of life
actions - List of all possible AI actions.

Basic and universal parameters for actions specified in class AI_Action
Caption        - Just a caption for more comfortable navigation
actionType     - Action type. Function with this name will be called to perform this action
actionPriority - Priority. Only actions with higher priority can interupt actions with lower
actionDuration - During this time action can't be interupted by action with lower priority.
animationClip  - Play this animation during the action
loopAnimation  - Specifies should be animation looped during action Duration or not
customValue    - Just some value that you can use in functions to setup/tune some parameters of

currentAction - Current requested action - this is internal variable, but it should be public. Please don't change it blindly