> For the complete documentation index, see [llms.txt](https://feliperoddd.gitbook.io/gasify/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://feliperoddd.gitbook.io/gasify/basic-usage.md).

# Basic Usage

Example Scenes:\
Assets/GAS/Mirror-Integration/ExampleSceneMirrorGAS.unity (multiplayer)\
Assets/GAS/Example/ExampleSceneGAS.unity (singleplayer)

## Define your Abilities, Effects, Tags and Attributes\*

Create their Scriptable Objects:

Right click a folder in your editor -> Create -> GAS.\
Create an **ability** GameplayAbilitySO (**GA** SO).\
Create an **effect** GameplayEffectSO (**GE** SO).\
Populate the **effect** with tags and modifiers.\
*(Use ADD MODIFIER button on the bottom of the **GE** SO)*\
Drag the **effect** into the created **ability**'s **effectsSO** field.

*\*Tags, Attributes and GameplayCues SOs must be in the same folder as their library (AttributeNameLibrary, GameplayTagLibrary, GameplayCueLibrary)*

## Attach the Ability to an AbilitySystemComponent (ASC)&#x20;

Drag your **ability** into a pre-existent **GroupASC** at Assets/GAS/Resources/DataGroups **OR;**\
Alternatively, create your own **GroupASC**[Data Groups](/gasify/data-groups.md) and drag it there.&#x20;

Drag the **GroupASC** into the PrefabPlayer (*GAS/Example/*) **OR;**\
Alternatively, drag the **GroupASC** into a new AbilitySystemComponent.

<figure><img src="https://585731495-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPvnvgshL169KwwsLUx0q%2Fuploads%2FY0otll7HAs6Ck37c3fK4%2Fimage.png?alt=media&amp;token=dd7d12f1-9c37-47bb-b9e8-f2a8edc7b1fe" alt="" width="156"><figcaption></figcaption></figure>

## Activate the ability:

Use the PrefabPlayer (*GAS/Example/*) to activate the ability with LeftClick or Numbers 0-9 or;\
Call **TryActivateAbility** from the AbilitySystemComponent (**ASC**) using your own code.

```csharp
public void TryActivateAbility(int index, AbilitySystemComponent target)
```

####
