This site is currently in read-only mode during migration to a new platform.
You cannot post questions, answers or comments, as they would be lost during the migration otherwise.
+1 vote

Are there any? These reddit posts talk about potential issues, but none mentioned seem to exist in Godot 3.1.1:

https://www.reddit.com/r/godot/comments/71qvix/what_are_the_benefits_of_using_node2d_as_the_root/
https://www.reddit.com/r/godot/comments/9xkax8/difference_between_choosing_node_vs_node2d_as/

Even with Node as the root, any Node2D can still be positioned and moved around the viewport. Any Node2D child of a Node that is a child of a Node2D retains its positioning relative to the grandparent Node2D.

The response from MysteryGM in this reddit post suggests that a reason to have a Node2D root is in case you want to position the whole scene inside another scene at a position other than origin of that other scene. Is that a valid consideration?

https://www.reddit.com/r/godot/comments/a0ecra/style_question_every_scene_having_a_plain_node_as/

in Engine by (70 points)

Doesn't matter. Just use any. You can quickly switch root node type when you need to position things or run into any kind of problems.

1 Answer

+1 vote

Node2D root is in case you want to position the whole scene inside
another scene at a position other than origin of that other scene. Is
that a valid consideration?

Yes, Nodes would be better for maps whereas Node2D/Spatial can be used for features within the game but usually things like players and enemies are RigidBody or KinematicBody.

by (3,259 points)
Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read Frequently asked questions and How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to [email protected] with your username.