public static AbstractNode CreateNode(NodeGraph graph, Type nodeType, Vector2 position) { if (graph == null) { return(null); } AbstractNode node = (AbstractNode)ScriptableObject.CreateInstance(nodeType); if (node == null) { return(null); } node.InitNode(); node.Position = position; graph.Add(node); AssetDatabase.AddObjectToAsset(node, graph); AssetDatabase.SaveAssets(); AssetDatabase.Refresh(); return(node); }