Replies: 2 comments
-
Related to godotengine/godot#64032. There used to be categories defined in the code, but they were removed as this was never fully done: godotengine/godot#59548 |
Beta Was this translation helpful? Give feedback.
-
what about have it as a toggle option in the creation dialog, to keep both ways I found this also useful when searching on the built-in API reference ( About the kind of categories you mention, there could many nodes that would fall into more than one category, so sounds convenient to use tags instead of a single possible position in the whole tree/branching, like in the inheritance one |
Beta Was this translation helpful? Give feedback.
-
The issue
Godot 3.5 and 4.0 alpha 13 presents the "Create New Node" dialog with a tree listing all nodes. These nodes are organized based on inheritance, meaning the tree will start with common ancestors for all nodes and sequentially list inheritors as children inside each ancestor.
This makes it difficult for a new user (and even experienced users when dealing with a new node type) to find a node based on it's functionality, as sometimes the common ancestor of a family of nodes is very non-descriptive of the functionality you're trying to implement. This contributes to worsening the first-time user experience, since a new user is unlikely to understand this organization right away.
An example of that are children of CullInstance. This abstract node gathers every spatial node affected by Portals, which means it has children like GIProbe, CSGMesh and VisibilityEnabler, nodes that otherwise have nothing in common with each other.
To make things worse, if a future version needs to add a new common ancestor, every node moves in this tree under the new ancestor, making memorizing this tree not as useful.
The proposal
Either change or add as an option a presentation that organizes nodes in a tree based on sensible categories in a way similar to what Blender does to the "Add" menu in it's 3D Viewport.
For example
Further improvements could be made, for example having an annotation that allows users to annotate their scripts with class_name directives to position them in a specific category (by default, scripts would be put under the same category as the node they're extending).
This could be set as the default presentation but a toggle could be added to view the tree based on class inheritance for those who prefer it this way.
Beta Was this translation helpful? Give feedback.
All reactions