Apparently, using ScriptableObject as a base instead of monobehavior was creating some weird problems.