Maybe this has been discussed before, but it was not clear in the docs, and it does annoy me a bit at times.
By topmost i mean the very first node/whatever-item you create, i called it root, but so many different things get named root in godot that i'm not sure it is the correct name for it.
So, after you create the very first item, nothing can be done to it, the only way to alter it is by deletion, which in practice means that i end up creating an empty node to start and then re-organize everything bellow it as i see fit.
If this is intended, and a design choice, it should be explicitly mentioned in the docs, preferably in the sceneTree docs, in the basics section.
I'm guessing that it is because its a pretty considerable thing to be a bug, or a unintended side-effect of whatnot.
Either way this issue is either a feature request, or a docs request.
What do you mean by "not editable"? Also, you mean the root node of a scene, right?
For me this works as expected, I can edit the root just like I can edit any children.
Well, as far as I'm aware, you can change its name, and swap it for another type, yes, but you can't re-parent it or create a new one in it's place, that's what i meant, you don't have total freedom with it.
What this means is that once its created its a final thing, and you can, i guess, copy its params, make a new one of the same type below it, paste in there, then change its type if you wanted to(you've effectively reparented it to a new one), but that's a lot.
Though regardless of that, and specially if this is a design choice, i think the main thing is that the docs maybe ought to tell newcomers that this is a node that will be stickied there, no nodes will be paralled to it, and you can't really do anything you might want with it, so the decision to create it, ideally, has to be final.
Looks like #337
Yes that's part of it.
I'm not saying this has to be done though, I am saying if this is not done it should be further explained in the docs. And doing it would be useful for anyone. I think offering to reparent the master(root) node would be logical. why not really?
But again if there is a reason not to do this(including time constrains), then simply making a small mention of this limitation and the workaround in the docs would be better then nothing.
+1
+2 I'm a newbie and just struggled with this.
+1, it is such a pain to deal with it... I searched how to change the root half an hour.
Maybe root node could have a "swap with" option on rmb?
On Jun 17, 2016 11:40, "Boiethios" [email protected] wrote:
+1, it is such a pain to deal with it... I searched how to change the root
half an hour.—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/issues/3723#issuecomment-226779783,
or mute the thread
https://github.com/notifications/unsubscribe/AF-Z22qyuqT5nk4ulGoF4YQVNjDja6-Xks5qMquegaJpZM4HapQs
.
It would be very intuitive :)
@reduz That's what was being asked in #337
I suggest a "swap with root" option for non-root nodes. "Swap with" would be more generic though, as you could swap any two nodes.
@vnen I think @reduz only meant to add "Swap with" to the root node. I'm fine with both any way, but I don't like the "swap with root" option. If we are going to have this option in all nodes, then the generic alternative seems the best.
@vnen I prefer to have swap with another node only in root, so we don't clutter the RMB menu unnecesarily. Will just pop up the same menu as reparent for this
@neikeq I know, but we didn't have RMB menu back then, the reason we didn't add such features before was that we didn't have any more space to put more buttons on the UI :P
I really wish we got a "swap with" option. Currently the only way to do it is to create new scene and/or delete and recreate.
I ended up editing the tscn file to make the change. Crappy, but by far the best workaround listed in any of these related issues.
Could this be done by just having a Node (specifically a Node) be there by default, and not be change-able as the root in a scene?
Then there's no options, and so no problems to be had with needing to change the node to another type. There'd also be no need to specifically create a Node to save a Scene (since it'd no longer be possible to create a scene without a Node).
@SolarLune No, check discussions in #7417 covering this.
The problem is that having an untyped Node anywhere in the scenetree would break the inheritance of transforms.
The other problem is that scenes are just _a node_ and its children, not _nodes_ and their children. Hiding this fact won't be beneficial in the long run.
Ah, OK, then. It's worth thinking about this being kind of an issue to keep in mind, then - why do Nodes break inheritance of transforms when they have no concept of space, and so have purely organizational use? One could make the transforms inherit from the parent, if the parent is a valid 2D or 3D Node, and if not, inherit from the parent's parent (and so on, down the line). Doesn't really make sense to even have Nodes available for direct instantiation if they fundamentally break core functionality in both 2D and 3D games. But that's off-topic, though, so never mind.
As for the other problem, I meant adding everything under that Node, so that Node would always exist and not be hidden or anything. Scenes would continue to be just a node (the new root node) and its children.
As stated in #19035 there is now an option to make a child node the new root node.
Fixed by c0c243ac.
Most helpful comment
Maybe root node could have a "swap with" option on rmb?
On Jun 17, 2016 11:40, "Boiethios" [email protected] wrote: