Component Based Ability System In Unity
As part of my graduate class on Game Engineering I was required to create different abilities for a small MOBA-like project. Ultimately, these abilities would vary from simple ones like fireball and teleport to more complicated ones like Meteor (splash + force damage) and tether (joins two players via a chain) etc.
To make this process streamlined and save time on my assignments I decided to build out a component based ability system which would allow me to reuse parts of from abilities that I already finished for new abilities as they were required in subsequent assignments.
I ended up with a pretty decent system, especially for my first attempt, and as such I will document it here (in upcoming blog posts) for posterity. This is by no means a perfect or fool proof way of doing such a thing and there might be better ways out there.
If you are reading this (and you are not me) feel free to leave comments and criticisms. I will also link my github to the entire project in upcoming blog posts.