Mastery Levels


Mastery Levels

Stat objects with canBeTrained set true can have multiple Mastery levels, while other Stat objects, as well as ItemObject and ItemAttribute objects, have a single level.
A MasteryLevels is a Scriptable Object, which you can create in your project by right-clicking the project view:
/Create/Game Modules/Create/Mastery Levels
The object can hold any number of individual MasteryLevel objects. In my game Legend of the Stones, we use "Novice", "Expert", "Master", and "Grand Master", but you can of course name them however you'd like. You can also have multiple MasteryLevels available to your project.

Modification Levels

When you use the Inspector to set Stat objects, ItemObject or ItemAttribute objects to have an affect on specific Stat objects, you're creating and populating ModificationLevel objects. These hold all the details about how one thing affects another. In general you shouldn't have to care about this, but feel free to look at the scripts to see how it all works.

Managing Mastery Levels

When you select a MasteryLevels object, you are unable to edit the details directly. Instead, click the "Manage Mastery Levels" button.
The Editor Window which opens will allow you to edit the details of the object. If you have multiple MasteryLevels objects, select the one you'd like to manage using the drop down near the top.
Mastery Levels
Here you can create, rename, and reorder individual Mastery Levels. Select them from the tabs in the middle to update the Dictionaries content for each Mastery Level.
The Dictionaries tab allows you to create keys which are added to each Mastery Level, and each Mastery Level tab will allow you to populate the dictionary keys with values.
Here you can set up the keys available for all Mastery Levels of this MasteryLevels object. Values can be set individually on each MasteryLevel.