Personal Project — Subclass system

Brennen Witzens
2 min readJun 5, 2021


Shifting through and showing everything.

In several genres of games, there is a class system. Mages, Warriors, Thieves, Rouges, Paladins, the list goes on. The main three archetypes of classes usually are: Mage (Wizard) — A ranged magic user. A Warrior (Tank/Melee) — The upfront brawler that can deal damage while absorbing damage. And a Rogue(Thief/Scout) — A light and nimble damage dealer that can be either ranged or melee. There are a plethora of different classes but they usually resemble these.

This is going to be about Subclasses though. Using the overarching 3 main archetypes, I made 3 subclasses that will each have different styles of play and skill trees for the player to use. So far it’s rough and simple just changing the material color to show what is going on. It also has the beginnings of changing skill trees along with the subclasses.

The set up is using buttons and a UI manager to allow for the Buttons to reference the script. Making it an action as well as take an Integer, it allows for easier modularity and scalability. Putting the UI Manager script into the OnClick event for the button allows for it to call the event which then tells the Player to change.

The Player subscribes to the event, which is similar to a broadcast system, and when it’s invoked it tells the Player to change the Subclass based on the button pressed.

Player Class Script

One way to improve in this field is to go about implementing systems already done and doing it in your own way. This system is used in Bungie’s games Destiny and Destiny 2. I’ve wanted to attempt recreating this for awhile, and finally have a start to it.

On to the next.