I will here, give an overview of the core nodes in Godot and how and when to use them.
- Node – This is used for non-visual data (game manager, inventory system, music manager, load/save system etc.)
- Node2D – Used for a 2D object, that should be rendered on screen (position, rotation, scale etc.)
- Node3D – Used when you need a 3D object rendered (position, rotation, scale etc.)
- Sprite2D – Use this for displaying a single static 2D texture (player graphics, pickup icon, enemy graphic etc.)
- TileMap – Used when you do a tile based game i.e. a 2D platformer.
- ParallaxBackground / ParallaxLayer – Used for multi layered scrolling background graphics.
- CanvasGroup – Used for grouping (opacity, fading nodes together etc.)