Configuring the unit ScriptableObject
In Chapter 3, Getting Started with Our Level Design, we were introduced to the ScriptableObject
class, which we used to configure the level and map elements of our game, and saw how we can use it to create data files that are easily manipulated in the Unity Editor and with C# scripts. We are going to continue using this powerful yet lightweight class to configure the entire game, starting with the units that the player will generate and train before commanding them to gather resources, defend the settlement, attack enemies, and explore the map.
Even though we will have different units, such as warriors and mages with different stats, their properties (Level
, LevelMultiplier
, Health
, Attack
, Defense
, WalkSpeed
, and AttackSpeed
) will be the same. Creating a solid foundation for the base stats will allow us to rapidly iterate the values for better game balancing and further customizations.
Let us start with a few scripts to define the UnitType...