> For the complete documentation index, see [llms.txt](https://docs.easy.gg/scripting/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.easy.gg/scripting/bedwars-scripting/objects/abilityconfig.md).

# AbilityConfig

### Parameters

#### maxProgress: number

The maximum amount of progress that can be stored on the ability.

#### progressPerUse: number

The amount of progress used every time the ability is activated.

#### iconImage: string | nil

An optional [rbxassetid](https://create.roblox.com/docs/projects/assets) of the image that will be shown on the button for the ability.

```lua
Events.UseAbility(function (event)
    if (event.abilityName == "yeehaw") then
        AnnouncementService.sendAnnouncement("YEEHAW!")
    end
end)

-- Create a "yeehaw" ability that is activated with the X key
-- The ability has 2 stacks of "yeehaw"
local abilityConfig = {
    maxProgress = 10, 
    progressPerUse = 5
    iconImage = "rbxassetid://7193644599"
}
AbilityService.createAbility("yeehaw", KeyCode.X, abilityConfig)

-- Add the ability to the host
AbilityService.enableAbility(MatchService.getHost(), "yeehaw")
```
