# AI Behaviour (scripting commands)

- [behaviour](../../commands/behaviour.md): Returns the behaviour of the individual unit, this is why it only accepts Object as the argument. For Arma 3 behaviour explanation see Arma_3_AI_Behavior
- [checkAIFeature](../../commands/checkAIFeature.md): Checks if the given AI feature is currently enabled.
- [combatBehaviour](../../commands/combatBehaviour.md): Returns combat behaviour of unit or group. To set unit or group behaviour see setCombatBehaviour. The behaviour is one of:
- [combatMode](../../commands/combatMode.md): Returns the combat mode of the given AI group. See setCombatMode for more information about combat modes.
- [disableAI](../../commands/disableAI.md): Disables parts of the AI behaviour to get a better control over the actions of a unit. If the unit changes locality, this command might need to be executed again at the new locality to maintain effect.
- [enableAI](../../commands/enableAI.md): Enables parts of the AI behavior that was disabled by disableAI.
- [enableAIFeature](../../commands/enableAIFeature.md): Enables/disables given AI feature.
- [expectedDestination](../../commands/expectedDestination.md): Return expected destination of unit as an array.
- [getUnitState](../../commands/getUnitState.md): Returns current state of the given AI unit, which could be one of the following: - "WAIT" - another plan is needed (current partial plan was done or is not present) - "INIT" - operative planing should start, endpoint is…
- [isAISteeringComponentEnabled](../../commands/isAISteeringComponentEnabled.md): Returns whether the AI steering component feature is enabled for the specified vehicle.
- [isUsingAISteeringComponent](../../commands/isUsingAISteeringComponent.md): Returns whether the AI steering component setting is enabled globally.
- [setBehaviour](../../commands/setBehaviour.md): Sets individual unit behaviour on every unit in a group.
- [setBehaviourStrong](../../commands/setBehaviourStrong.md): Sets individual unit behaviour on every unit in a group and additionally tries to force this behaviour to the unit's group. Alternatively see setCombatBehaviour.
- [setCombatBehaviour](../../commands/setCombatBehaviour.md): Sets an individual unit entity behaviour (main syntax) or a group entity behaviour (alternative syntax). The group in this case is a Group entity and not a simple collection of units.
- [setCombatMode](../../commands/setCombatMode.md): Sets AI group combat mode (engagement rules). For individual unit's combat mode see setUnitCombatMode.
- [setSkill](../../commands/setSkill.md): Sets the skill level of given unit. The value of a sub-skill is interpolated into a range defined in CfgAISkill.
- [setUnitAbility](../../commands/setUnitAbility.md): Sets skill of given unit. Unlike setSkill, setUnitAbility can set values > 1. Even though the skill command will correctly return set value, the actual unit ability will be capped to max available.
- [setUnitCombatMode](../../commands/setUnitCombatMode.md): Sets unit's combat mode (engagement rules). For AI group combat mode see setCombatMode.
- [skill](../../commands/skill.md): Returns current skill of a unit, in range between 0 to 1, 1 being the highest level of skill.
- [skillFinal](../../commands/skillFinal.md): Returns final, recalculated sub skill value of given unit. (with regard to AI Level coefficient (Difficulty settings)).
- [unitCombatMode](../../commands/unitCombatMode.md): Gets individual unit's combat mode. For more information see setUnitCombatMode.
- [useAISteeringComponent](../../commands/useAISteeringComponent.md): Enable the new AI driving, used to test the old and new AI driving.
