# 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.\
&#xNAN;_(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](data-groups "mention") 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&#x26;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)
```







####
