JetBrains Rider 2025.3 Help

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