Ad

gameplay-ability-system-for-unity: Simple GAS implementation for Unity

Port of Unreal Engine's Gameplay Ability System to Unity. Provides a flexible framework for managing abilities, attributes, and effects. Supports tags and custom logic for dynamic gameplay.
Screenshot of No78Vino/gameplay-ability-system-for-unity homepage

Gameplay Ability System For Unity implements the core concepts of Unreal Engine's Gameplay Ability System (GAS) within the Unity environment. This system offers a robust and flexible framework for managing character abilities, attributes, and effects. The primary goal is to provide a clear and manageable system for implementing complex gameplay mechanics that involve attributes, buffs, debuffs, and other state changes. It simplifies and abstracts common game development tasks associated with stat management and ability application.

This repository offers a simplified and streamlined implementation of GAS, focusing on core functionality and ease of use. It features a tag-based system for representing states and buffs, allowing for flexible and extensible gameplay mechanics. The inclusion of an editor and a simplified Attribute System enables rapid prototyping and implementation of ability behaviors. The design focuses on separation of concerns and clear separation between data (Attributes) and logic (Abilities).

  • Ability System: Manages the overall flow of abilities and effects, providing a framework for defining gameplay states and actions.
  • Gameplay Tags: A robust tagging system for describing states, conditions, and effects, facilitating flexible logic and dynamic gameplay.
  • Attributes: Represents numerical values (like health, attack, defense) used in ability calculations and effects.
  • GameplayEffect: Defines the outcome of an ability, allowing for modification of attributes and other gameplay parameters.
  • ModifierMagnitudeCalculation: A system for calculating the magnitude of effects, enabling dynamic and contextual damage or buffs.
  • AttributeSet: Defines a group of attributes. This enables categorization and the management of associated data. Interface with other parts of the system to change and modify attribute values, making changes reflected at runtime.

The project is under active development and refinement; the base functionality is implemented, specific testing is ongoing, and features are still being added. The current version has known bugs, and limited testing, as this project is in active development. The included documentation is incomplete, and further development and community feedback are needed to stabilize the system.

This project provides game developers with a foundation for implementing sophisticated ability systems in Unity. It benefits indie developers and teams looking for a flexible and scalable solution for managing character abilities, buffs, and debuffs. By abstracting the complex logic associated with these systems, the project reduces development time and improves code maintainability. It is suited for teams comfortable with a somewhat complex system.

Languages:
Summarize:
Share:
Stars
820
Forks
126
Issues
12
Created
2 years ago
Commit
21 days ago
License
MIT
Archived
No
Updated 17 days ago

Similar Repositories