Units use prefab variants. This means, if you edit the base prefab, all prefabs that are a variant of it will have those changes as well. The prefabs are divided into BaseUnit → BasePlayerUnit/BaseEnemyUnit → The actual unit. This is mainly because units share a lot of features (e.g. being an entity, health bars, etc.) and having to change them on every single unit when an edit is needed would take a long time. To make a new unit:

  1. Duplicate an existing unit. Ensure that the unit you duplicate matches the team the unit you are making (e.g. duplicate a player unit when making a player unit, and the same for enemy units. This is because player and enemy units have different components such as an AI brain for enemies). For this guide I’ll use Idol. Units can be found in the folder Prefabs/Units/Enemy Units OR Player Units.
  2. Open the duplicated prefab by double clicking it.
  3. Update components that are unique to each unit:
    1. Change the prefab name (either by changing the base gameobject name or changing the prefab name in the project files viewer)
    2. Change the graphics. The graphics are a gameobject provided by the art team. The current graphics prefabs can be found in Packages → PDT Art Library → Prefabs. If the correct prefab exists, delete the existing prefab under graphics on the unit (for Idol it is just named Idol), and drag the new graphics prefab onto the unit as a child of the Graphic gameobject.
    3. Create the unit script. Go to Scripts → Units → Enemy Units OR Player Units, and then create a new monobehavior script. Name it “{UnitName}Unit”. Make it inherit from BaseUnit. Look through other scripts to see what else needs to be added. The contents of these scripts are going to change as more of the game is developed. In particular, I believe the way abilities are added to units will change once the unit selection screen is made. For now we need to manually add the abilities.
    4. Replace the unit script on the prefab. Go back to the new unit and replace the existing BaseUnit script with the one you just made. For idol, the component should be called “Idol Unit”. Once this is done, other components will need their references to the BaseUnit script replaced. For now the only place should be Unit Inventory (which manages items). Drag the new BaseUnit script on the prefab into the Unit Inventory’s Base Unit variable.

That should be it in terms of making the unit. This will then allow you to start making new abilities and passives to place onto this unit.