I am making a custom graph view node based system, and I am able to drag my nodes into the group.
However, once I drag them in, I cannot drag them out unless I delete the node.
If I delete the group, I also delete everything inside.
I was searching for group capabilities in the documentation but it seems to be an enumeration, so I can only have one at the time, and I cannot find anything to understand what manipulators are.

How am I able to, if currently possible:
- Delete or detach group only
- Drag out nodes from the group
- Change group capabilities

I just noticed that you can detach the nodes by pressing shift + click.
Still didn’t figure out the rest, though.
EDIT:
You can do capabilities -= Capabilities.YourDesiredCapability; to remove a capability, however you cannot do capabilities += Capabilities.YourDesiredCapability; to add a capability, for whatever reason.
You can also create your “Delete” action by overriding BuildContextualMenu on GraphView and doing evt.menu.AppendAction("Delete", actionEvent => DeleteMethod(selection)); (selection = selected elements, a GraphView variable). By deleting the selected element the group won’t delete every node inside and only the group itself.
Also there are some handy methods for group title changed and some others on Unity - Scripting API: GraphView.
2 Likes