Unity has a rarely used feature known as Scriptable Objects. These are essentially very light weight components, allowing one to edit them in the editor, set pre-defined states, and place them in components as required. Instead of inheriting from MonoBehavior, inherit from ScriptableObjects. ScriptableObjects