This system was inspired by Unreal's own gameplay ability system but implemented and simplified to suit the needs and scope of this project Unreal's GAS
Scriptable objects (UObjects) are used to create new abilities or upgrades. These can either effect player's data, have runtime functionality or both. The main focus for this system was to design an understandable and modular system where designers could easily add and edit upgrades.