A class you can derive from if you want to create objects that don't need to be attached to game objects.
This is most useful for assets which are only meant to store data.
To make it easy to create ScriptableObject instances that are bound to assets in your project, see CreateAssetMenuAttribute.
This class doesn't support the null-conditional operator (?.) and the null-coalescing operator (??).