> For the complete documentation index, see [llms.txt](https://sulleyyys-organization.gitbook.io/manuals-of-ccs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sulleyyys-organization.gitbook.io/manuals-of-ccs/advanced-uses/integrating-with-gameplay-ability-system-gas.md).

# Integrating with Gameplay Ability System (GAS)

[Gameplay Ability System](https://docs.unrealengine.com/5.1/en-US/gameplay-ability-system-for-unreal-engine/) is an official plugin for building various types of character abilities and attributes that you can use to define character actions in your games. It is a flexible, though with a little tricky complexity system that comes up with the core concepts of Gameplay Tag, Gameplay Attribute, Gameplay Event and Gameplay Ability. The `Gameplay Ability` class is where you implement the ability logic, play montage and do collision detection, etc.

If your character is casting an ability using GAS and you want to call a nice ability camera while handling ability interruption and ability end, you should explicitly call the original camera in the `OnEndAbility` event, which already provides you with a boolean value `Was Cancelled`. This value helps you distinguish whether this ability is normally ended or is interrupted by other abilities or actions.

<figure><img src="/files/2yo4ClkMjROyT84yYUu0" alt=""><figcaption></figcaption></figure>

In the future I will give a complete toy example to shed light on integrating GAS and ComponentCameraSystem.
