public T CreateScriptableObject <T>() where T : ScriptableObject { UndoEx.RecordForToolAction(this); T scriptableObject = ScriptableObject.CreateInstance <T>(); if (scriptableObject != null) { UndoEx.RegisterCreatedScriptableObject(scriptableObject); _scriptableObjects.Add(scriptableObject); } return(scriptableObject); }