Abilities are created using the Data Editor and each ability contains a set of orders that the unit can perform, if it has the ability. Abilities cannot be added to a unit later in-game. Because of this you need to add all abilities to the units that are supposed to have them, even those that are initially disabled, in the Data Editor. There is no limit to the total ability count for a unit, however.
Each ability has a set of orders used to manipulate it. Most ability types have only "execute" and "cancel", but some, like Train, can have up to 20. In order for these commands to work, they need to have a Default Button set (usually found in Commands+ or Info+ fields). This feature is purely editor-only, meaning it can't be changed via Triggers or any other method. The button selected as default will serve as name of the ability's command on the casting unit's command card.
For more information about adding abilities, see Adding Abilities to Units.
Arm Magazine uses spawned units to attack the caster's target, like a Carrier or a Brood Lord. This also requires the caster unit to have a weapon that coincides with the ability, causing the spawned units to actively attack the caster's target.
An ability of this type is necessary for a unit to be able to attack with weapons. It contains some settings, but usually you will just use the one instance of this ability (also named Attack) that is already created.
Any specific customization regarding the unit's attack parameters (i.e. damage, attack speed, etc.) is done via Weapons.
An augment ability is used to modify use of another ability, by adding an extra effect prior to the ability being cast.
The behavior ability is used to toggle a behavior on and off, or simply add a permanent behavior to the casting unit. If the behavior change is timed (adding a buff for a moment), it is better to use Effect - Instant with Apply Behavior effect.
A build ability allows the building of other units. Unless the build time is 0, the build ability requires the built units to have the Buildable ability that defines how the unit behaves while being built. For normal structures, there is already one Buildable ability called "Build in Progress" that should work fine.
Units created with the Build ability are required to have this ability.
Applies an Effect as soon as the ability is cast. The effect is instant, as it does not require the player to select a target (the caster is the target by default).
Applies an Effect on the target unit or point. These effects are different from Instant Effects because they require the player to specify the target or location for the effect to occur.
This ability allows a unit to gather resources.
Interact is a type of ability that allows unit to be used by other players than the owner. Interact usually works on auto-cast, although it can be used as manually-cast ability. Casting this ability on a unit gives control of the casting unit to the target's unit controller (i.e. an item shop will cast this ability to grant control to the heroes standing nearby).
The inventory ability allows the use of Item Containers in order for units to use or equip items.
The learn ability allows a unit to learn other abilities in-game. It is commonly used to simulate WarCraft 3-style heroes, although it can do much more.
Allows two units to fuse together to create a new unit.
Allows a unit to turn into another unit. You are able to set certain time paramaters to help facilitate the change (i.e. adding time to the duration of the morph), but aside from a basic size (morphing from a smaller to larger unit, or vice versa) or height change (morphing from a ground to air unit, or vice versa) you can't automatically animate a morph without an animated model to go with it (i.e. the morph from a Fighter Viking to Assault Viking).
Same as Morph, except it is location-targeted meaning it is used to morph into a stationary unit (i.e. a Terran building landing).
An ability of this type is necessary for a unit to be able to move. It contains some settings, but usually you will just use the one instance of this ability (also named Move) that is already created.
This allows a player to sell item units with the "Pawnable" flag to the unit that has this ability.
A queue ability displays and manages a unit training queue. Without this ability, Train still works, but it doesn't show up and only one unit can be trained at a time.
An ability of this type is necessary for a unit to be able to rally to a point. It contains some settings, but usually you will just use the one instance of this ability (also named Rally) that is already created.
An ability mostly used by bunkers and transports to redirect an ability from a unit inside the bunker/transport, and giving it to the bunker/transport (i.e. a stimpack).
An ability mostly used by bunkers and transports to redirect an ability from a unit inside the bunker/transport, and giving it to the bunker/transport (i.e. an attack).
An ability used to revive dead units. Commonly used on a structure that is set up to revive hero units, similar to WarCraft 3.
Specialize works similarly to Learn, as it allows units to buy certain upgrades for themselves in the form of effects.
An ability of this type is necessary for a unit to be able to move, but also manages commands like "Hold Fire". It contains some settings, but usually you will just use the one instance of this ability (also named Stop) that is already created.
Train allows the creation of other units. It is usually used together with the Queue ability, which handles the training queue. If the training unit has the Interact ability, the trained units (items) will be placed in interact-target's inventory.
Transport gives the unit cargo space to carry other units.
An ability for warping in units (i.e. the Protoss Warp Gate). Unless the warp time is meant to be instant, the Warpable Ability is required on any units you want to use this with.
Units created with the Warp Train ability are required to have this ability.