You can use ScriptableObject.CreateInstance<>();
to create an instance to use.
It’s not optimal however, as you are conflating the idea of ScriptableObjects (authored when making the game) with runtime data.
I actually just wrote a big post about it here: