A maintainable and extensible unit system for Unity, designed with interfaces, abstract classes, and ScriptableObjects to make adding and modifying units straightforward. States are designed so that ...