Hi,
typically for this, I would go all the way with Xml, and not classes for many reasons.
- no issues with reflections, it's pur data
- it's flexible, data can grow and evolve without compromising existing apps or logic
- it's plain english, and understandable by non programmers
- it's cross platform, so you can store this data anywhere and edit, write read it anywhere ( for debugging, for website companion of your game)
- PlayMaker had DataMaker ( on the ecosystem) which provide extensive support for xml editing, and reading.
So I would simply go this way.
now, if you still want to use classes,
- you will need to create custom actions to work with them, no real way around this, but since you are already scripting, doing the dedicated actions is trivial in this case.
- You will need a behavior ( let's call it CharacterSheetManager), which will be the middleman between PlayMaker, Unity world and interactivity and your data, the classes will be known by CharacterSheetManager and exposes in a friendly manner using a public API, which you can access from PlayMaker via Custom actions.
I'll take a look at your package within the next few days, but chances are I will strongly recommend using xml unless you have some good use case to make the use of classes better.
Bye,
Jean