The aim is to reduce the learning curve (and friction) when first getting used to Godot.
Currently, to add your first texture into the viewport and play around with it, you have to:
However, chances are that you get stuck at the No parent to instance a child at
when you didn't know to add a root node or - even worse - you try to drag your file into the scene hierarchy and... it just displays the warning icon and doesn't work, without any message.
With these changes, it becomes:
A new scene should have a Node added by default
I'm not sure about this one. I see where you're coming from, but that's going to confusion - what if I don't want a Node as the root of my scene? I can't delete it, and I definitely wont know about or understand the "Change Type" context menu yet.
An alternative suggestion: "New Scene" could prompt you to select a root node for the newly created scene.
- Import your files
This is no longer necessary in 3.0.
A new scene should have a Node added by default
Yeah, this one got me.
The first thing I added was a Camera. Hmm, why isn't my GDScript to move the Sprite working? Turned out I spent about 20 minutes having accidentally put the Sprite inside the Camera because the default "create" action nests inside the selected object (or root node), hence causing it to inherit its transform and the online example code for moving was giving the optical illusion of not working.
It would be far more intuitive to new users if the root node was automatically created.
I'm not a huge fan of adding a root node automatically.
How about, when dropping a node/resource without currently having a root node, instead of simply showing the error we ask a question: No parent to instance a child at. Do you want to instance this as the root node?
?
I prefer @Hinsbart suggestion, as it works not only once upon creating a new scene, but also every time you manage to somehow remove your root node.
Edit: It's also more in line with the existing behaviour of being prompted to select the main scene.
Kind of related:
Seems that this is in demand and improving this could close a lot of issues at once :)
mhilbrunner is correct that the scene having no root node upon new project is not intuitive to a beginner.
I teach an introductory programming class at a university with Godot, and I provide them a 2D starter project for each of their assignments, which includes a Main.tscn file (that is assigned as the default scene) that has a root node of type Node with the name Main.
At the beginning of the semester, to be thorough I do show them how to get from "new project" to the 2D template, and I can tell by their faces that they are grateful the 2D template is provided for them.
Most helpful comment
I'm not a huge fan of adding a root node automatically.
How about, when dropping a node/resource without currently having a root node, instead of simply showing the error we ask a question:
No parent to instance a child at. Do you want to instance this as the root node?
?