Before you write too much bespoke code…
ScriptableObject usage in RPGs:
Usage as a shared common data container: