Statement
- You can refer to the Demo project to learn how to replace animations for abilities, change parameters, and adjust values for game effects, among other things.
- The basic demo of GCS includes some characters and animations from Paragon, which are pre-configured for your reference.
- The animations mentioned in this document are sourced from Space.Bar.Anim and are not included in GCS. If you own these anim packs, you can directly import them into your project. They are all setup and with minor tweaks and you are ready to use them.
- The effects/sound fx in the animations are setup with Context Effects System, meaning the animations do not directly reference specific assets. Therefore, you can replace the corresponding VFX/SFX entirely by swapping different EffectsContextLibraries without needing to adjust each animation individually.
- The input trigger methods and ability activation conditions mentioned in this document can be modified through configuration rather than hard coding.
We recommend that you first learn the user guide of the Generic Gameplay Abilities.
Abilities Overview
GCS offers a wide range of pre-configured abilities, each with adjustable parameters that you can use directly.

Ability Tag Relationship Mapping
The interruption/blocking relationships between all abilities provided are determined by the Ability Tag Relationship Table, allowing you to apply completely different interruption/blocking rules for reusing these abilities without creating a bunch of subclasses and getting lost in a sea of tags.

你应该复制一份默认的关系表,并按照你的游戏设计规则进行修改。
Input To Ability Activation
You can also fully customize the input trigger methods for abilities through Input Control Setup.
GCS provides default control settings, you should make a copy and modify it according to your game design needs.
Ability Action Set
The GCS_AbilityActionSetSetting is a data asset where you can configure different ability actions that will be used in various situations for any ability. A ability action is a structure that contains basic information about the ability action, such as the montage to play and its playback method.

Creating ability Action Set Settings
You create a new ability Action Set Setting by creating a data asset of type GCS_AbilityActionSet. It is recommended to prefix the naming of action set settings with AAS_.

You should create corresponding ability action set settings for different types of weapons, so that when switching weapons, the same ability will use different animations.

Each ability action set setting contains all potential ability action sets corresponding to different abilities.

Refer to Weapon System to understand how to associate action set settings with weapons.
Layered Ability Action Sets
When configuring ability action sets, you can also implement a layered approach to change moves under specific conditions.
The following example demonstrates that the same attack ability will have different moves/combo combinations depending on the type of weapon held.

When layering is enabled, it will first query the layered ability action set for actions that meet the conditions, then fallback to the default actions.
Querying Ability Actions
In GameplayAbility, you can query the ability actions corresponding to a ability using the combat interface's QueryAbilityActions.
For abilities activated directly, the usage is generally as follows:

For abilities activated through events, the usage is generally as follows:

How to use the returned AbilityActions is entirely determined by the design of the ability itself. The simplest usage is generally as follows:

Underlying Logic
At the core, AbilityActions are actually derived from queries made by the implementation object of the combat interface through the "ability Action Set Settings."
