[This post is a summary based on lectures by Lee Deok-Woo and documentation prepared by another developer. For detailed and accurate information, please refer to the mentioned links.
Series
GAS Basics
- Unreal GAS Overview
- Unreal GAS Start <- Current Post
GAS Character Creation Basics
- Unreal GAS Input Handling
- Unreal GAS Implementing Continuous Attacks
- Unreal Gas Implementing Attack Judgment System
Attributes and Gameplay Effects
- Unreal GAS Character Attributes
- Unreal GAS Gameplay Effects
- Unreal GAS Attribute and UI Integration
Utilization of GAS
- Unreal GAS Implementing Item Boxes
- Unreal GAS Implementing Area of Effect Skills
In this post, we will explore three different ways to implement actor movement and understand the usage of the GAS framework while looking at the differences between each method.
- Actor Function Extension
- Using Game Ability System
- Using Game Ability System + Gameplay Tags
For the actor, the fountain, the movement is based on rotating in place for 3 seconds.
Actor Function Extension
Implemented using URotatingMovementComponent directly without the GAS framework.
Using Game Ability System
To implement movement using the GAS framework, you need to understand two concepts:
- Ability System Component
- Game Ability
Ability System Component
- Manages the Gameplay Ability System
- Only one can be attached per actor
- Actors can trigger Gameplay Abilities through this component
- Allows interaction among actors with this component by the Game Ability System
Game Ability
- An action that can be registered and triggered within the Ability System Component
- Activation Process:
- Register in Ability System Component: AbilitySystemComponent->GiveAbility()
- Trigger the action: AbilitySystemComponent->TryActivateAbility()
- Implement requirements using SpecHandle, ActorInfo, ActivationInfo within the activated ability
- Key Methods:
- CanActivateAbility
- ActivateAbility
- CancelAbility
- EndAbility
Implementing the same movement using the above concepts with the GAS framework:
…
Using Game Ability System + Gameplay Tags
When using only the Game Ability System without Gameplay Tags, the advantages of the GAS framework may not be fully utilized. Let’s understand what Gameplay Tags are:
…
Implement the same requirements using Gameplay Tags:
…
Conclusion
Implemented the rotating fountain using three methods:
- Actor function extension
- GAS: Separating functionality from the actor with a new class (ability)
- GAS + Gameplay Tags: Removing dependencies using tags