I’m not 100% sure because I haven’t started with the character classes yet but here’s what I currently think is the best way: make a C++ Enum “CharacterClass”, and add a variable of this type to MMOCharacter BP. You need a C++ enum so it can be used in inventory items which are DataAssets (for example to make an item only usable to hunters). If you need the characters to be able to have multiple classes, make the variable in MMOCharacter an array of this new enum.
I haven’t decided on this one yet, but I think there can be two approaches: people who are serious about this and work fast should check the updates for the things they need, check how those things are done and update their project manually.
People who are new to Unreal or hobbyists can do the reverse: document their changes, comment and assign a specific color to their BP nodes, and when they feel the updated kit is much better than their version, apply their changes to the newest version of the kit. With this second approach you could also make a derived blueprint when you want to add a lot of new things, then when the update comes just migrate the BP to the updated project and parent it to the updated BP.