Based on lectures by Lee Geuk Woo and documents summarized by other developers.
For detailed and accurate information, please refer to the links above.
Series
Basic of GAS
- Unreal GAS Overview <- Current post
- Getting Started with Unreal GAS
Basic of Creating GAS Characters
- Input Handling in Unreal GAS
- Implementing Continuous Attacks in Unreal GAS
- Implementing Attack Judgment System in Unreal GAS
Attributes and Gameplay Effects
- Unreal GAS Character Attributes
- Unreal GAS Gameplay Effects
- Linking Attributes to UI in Unreal GAS
Utilization of GAS
- Implementing Item Boxes in Unreal GAS
- Implementing Area of Effect Skills in Unreal GAS
Gameplay Ability System
- A framework that provides the functionality of actor abilities and interaction among actors through abilities.
- Advantages
- Flexibility, scalability: Easily applicable to a variety of complex game designs.
- Modular system: Minimizes dependencies for each functionality.
- Network support
- Data-driven design
- Completion: Games like Fortnite are already using it.
- Disadvantages
- Learning curve
- Overhead in small-scale projects
Suitable for creating large-scale RPG and multiplayer games
Components
- Gameplay Ability: Implementing character abilities based on cost and cooldown (optional).
- Attributes: Manipulating actor characteristics.
- Gameplay Effects: Changes in actor state based on ability activation.
- Gameplay Tags: Assigning tags to actors.
- Gameplay Cues: Visual effects.
- Replication for all of the above.
GAS in Multiplayer Games
The GAS plugin supports client-side prediction, allowing the activation of abilities and effects without server permission.
- Ability activation
- Playing animation montages
- Modifying attributes
- Assigning gameplay tags
- Executing gameplay cues
- Manipulating movement through CharacterMovementComponent and RootMotionSource functions
Blueprint vs C++
GAS should be implemented using C++, but it is possible to implement GameplayAbilities and GameplayEffects using blueprints.