Godot: New project / first use UX

Created on 22 Oct 2017  路  6Comments  路  Source: godotengine/godot

  • A new scene should have a Node added by default
  • Dragging files from the FileSystem into the Scene hierarchy should have the same effect as dragging them into the Scene viewport. Currently, you can drag a PNG into the viewport, for example, but not into the Scene hierarchy, even after creating a root node.

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:

  1. Open Godot
  2. Import your files
  3. Create a new root node
  4. Drag and drop your first texture into the scene view (but not the hierarchy, that does not work!)

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:

  1. Open Godot
  2. Import your files
  3. Drag and drop your first texture into the scene viewport or hierarchy, whichever you want, it works.
discussion enhancement editor usability

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? ?

All 6 comments

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.

  1. 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:

11217

9363

11238

3723

10684

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.

Was this page helpful?
0 / 5 - 0 ratings