# Call Unit Ability Tactical Script
Grammar — Run Unit Ability Tactical Script(unit,scrip,scanGroup,ability,item)
Flags —Native|Action
# Arguments
unit— Unitstring— Scripunitgroup— Scan Groupstring<gamelink::Abil> — Abilityunit— Item
Returns — void
native void AIExecuteAbilTactical(
	unit inUnit,
	string scrip,
	unitgroup scanGroup,
	string ability,
	unit item,
);
# Related
Category: AI Advanced / Tactical / Actions
- Set Ignored By Wave — 
void— AISetIgnoredByWave - Clear Cloaked Attacker — 
void— AIClearCloakedAttacker - Tactical AI - Cast — 
int— AICast - Tactical AI - Flee — 
int— AICastFlee - Call Original Tactical AI Think — 
void— AIBaseThink - Call Unit Ability Tactical Script — 
void— AIExecuteAbilTactical - Set Tactical AI Range — 
void— libNtve_gf_SetTacticalAIRange - Set Tactical AI Think — 
void— libNtve_gf_SetTacticalAIThink - Enable/Disable Tactical For Unit — 
void— AISetUnitTacticalDisabled - Enable/Disable Tactical For Unit Group — 
void— AISetGroupTacticalDisabled 
# Examples
mods/warcoop/warclassicsystem.sc2mod — base.sc2data/TriggerLibs/WarClassicTactical.galaxy:642
                lv_itAbilTact = CatalogFieldValueGet(c_gameCatalogAbil, lv_itAbilLink, "TacticalAIFunc", lp_owner);
                if ((StringLength(lv_itAbilTact) > 0)) {
                    AIExecuteAbilTactical(lp_aIUnit, lv_itAbilTact, lp_nearByUnits, lv_itAbilLink, null);
                }
mods/warcoop/warclassicsystem.sc2mod — base.sc2data/TriggerLibs/WarClassicTactical.galaxy:661
        if ((lv_itAbilLink != null)) {
            lv_itAbilTact = CatalogFieldValueGet(c_gameCatalogAbil, lv_itAbilLink, "TacticalAIFunc", lp_owner);
            AIExecuteAbilTactical(lp_aIUnit, lv_itAbilTact, lp_nearByUnits, lv_itAbilLink, lv_itItem);
        }