Code inspection: 'ScriptableObject' instances must be instantiated with 'ScriptableObject.CreateInstance<T>()' instead of 'new'
If the new keyword is used to create a ScriptableObject, the call will fail at run time. This is because a ScriptableObject needs to be created by the Unity engine so that Unity can call the special methods Start, Update, etc.
This inspection will highlight any attempts to new a ScriptableObject derived class, and provides a quick fix to rewrite the new as a call to ScriptableObject.CreateInstance<T>().
This inspection corresponds to the Unity runtime warning:
24 March 2026