GAS Integration

GAS Integration
The demo part of project provided by GMS uses native GameplayAbilities
to produce basic sprint, jump, and crouch logic. It also includes a simple BC_Lite_AbilityManager
ability management component to manage ability activation.
GMS doesn't force you to use GAS, but it's better to work with it. If you are a beginner, you can skip GAS.
From past experience, the decision to ‘introduce GAS as a reference in the demo’ makes it more difficult for beginners to understand and use GMS.
But I want to guide users to use GMS in the right way, GMS doesn't force you to use GAS, but it's better with GAS.
If you are a beginner, you can leave GAS alone; if you already have a dedicated GAS plugin, you can easily replace Lite_AbilityManager with your solutions, and Abilities itself is reusable and pluggable.
GameplayTags Drive Animation Selection
GMS uses GameplayTags in many places for flexibility. It is also ready to integrate with GAS projects.
In the overlay configuration section, you can dynamically select different overlay animations based on the Actor's current tags.

By default, the movement system component will look for objects implementing GameplayTagAssetInterface
as TagsProvider
on the Actor and its components.
GAS as TagsProvider
It just so happens that the AbilitySystemComponent
in the GAS plugin already implements this interface, so you can use the following method at runtime to specify the ability system component as TagsProvider, which will seamlessly use the GAS system to drive the GameplayTags used by GMS.

Future
GMS is a movement system, I want to keep it as pure as possible, rather than coupling it with too many features that are not relevant to movement.
GMS currently focuses on movement control and locomotion, but in the future, other types of movement, such as climbing and vaulting, will also be implemented using GAS.