I'm hitting wall with the new prefab workflow. I have a node graph tool (NodeGraph component on a gameobject) where when the user adds a new node to the graph, it is created as a new child gameobject with a behavior on it. And when the user removes the node, the associated gameobject should be removed from the hierarchy. And to save the resulting graph, I want to store it as a prefab and have it be editable. Except I'm running into issues: - Once saved as a prefab, ideally the user could continue to modify the graph (and thus add new nodes perhaps) via the prefab root. Turns out, no, you can only add new gameObjects to a prefab in a scene. - Fine, I can live with only working in the scene and then saving the changes to the prefab via ApplyPrefabInstance. This works fine for adding nodes but turns out the user would not be able to remove nodes in this way because destroying gameobjects inside prefab instances is not allowed. So I'm stuck in a catch 22 situation. Is there a painless way to edit a prefab (both adding and removing child objects) via code?