GAS is short for Gameplay Ability System, the ability system architecture from Unreal (For more information).
This is an implementation of GAS in Unity.
In short, GAS can help you create a complicated attribute, ability, and effect system for your game with ease.
It has been used in some projects and fully tested with Unity Test Framework but I'm still improving it so feel free to use and contribute.
- Samples
- Gameplay Cue
- Intuitive Editor
- Multiplayer support
This package require my Unity Extension Core so install it via Unity Package Manager.
Also, it depends on this Utility package so make sure to install it.
Unity SerializeReferenceExtensions
After that, add the git address in Unity Package Manager: https://github.com/h2v9696/UnityGAS.git
Or you can use git to clone this repository, then copy the whole folder to your project.
This package is the same as GAS in Unreal Engine, so to understand this better you should take a look at Unreal Engine's Document.
These explanations assume you understand GAS and Unity's Scriptable Object (SO) structure.
But feel free to check out my guide first—I'll try to include as many reference links as possible.