3D Essential Nodes
Node Type | Description |
---|---|
Node3D | The base node for all 3D nodes. Used for positioning and transforming 3D objects. |
MeshInstance3D | Displays a 3D mesh. |
Camera3D | Controls the viewport and what is seen in the 3D scene. |
Area3D | Used for detecting collisions or overlaps with other Area3D nodes. |
CollisionShape3D | Defines the shape of a RigidBody3D or Area3D node for collision detection. |
RigidBody3D | Used for 3D physics-based movement and collision detection. |
3D Lighting Nodes
Node Type | Description |
---|---|
DirectionalLight3D | Provides directional lighting in the 3D scene (like the sun). |
OmniLight3D | Provides omnidirectional lighting in the 3D scene (like a lightbulb). |
SpotLight3D | Provides spotlight lighting in the 3D scene (like a flashlight). |
3D Audio Node
Node Type | Description |
---|---|
AudioStreamPlayer3D | Plays 3D audio, with spatial effects based on its position relative to the camera. |
Other Essential Nodes (Useful for Both 2D and 3D)
Node Type | Description |
---|---|
Timer | Used for timing events and actions. |
Tween | Used for smoothly animating properties of nodes. |
2D UI Nodes
Node Type | Description |
---|---|
Control | The base node for all UI elements. |
Label | Displays text. |
Button | A clickable button. |
TextureButton | A button with a texture. |
TextureRect | Displays a 2D image. |
NinePatchRect | Displays a stretchable 2D image. |
LineEdit | A single-line text input field. |
TextEdit | A multi-line text input field. |
ProgressBar | Displays a progress bar. |
CheckBox | A checkable box. |
OptionButton | A drop-down list. |
PopupMenu | A context menu. |
ColorPicker | A color picker. |
SpinBox | A number input field with up/down arrows. |
HScrollBar | A horizontal scroll bar. |
VScrollBar | A vertical scroll bar. |
HSlider | A horizontal slider. |
VSlider | A vertical slider. |
Container | A node that can contain other UI elements. |
PanelContainer | A container with a background. |
ScrollContainer | A container with scrollable content. |
TabContainer | A container with tabs. |
VBoxContainer | A container that arranges its children vertically. |
HBoxContainer | A container that arranges its children horizontally. |
GridContainer | A container that arranges its children in a grid. |
MarginContainer | A container that adds margins to its child. |
CenterContainer | A container that centers its child. |
Other useful ones
Here are also some additional node types that can be very useful for various tasks in Godot, especially for 3D games:
Animation and Cinematics
- AnimationPlayer: Controls and plays animations on 3D models or other nodes.
- AnimationTree: Allows blending and layering of animations for more complex character movement.
- Path3D: Defines a path for objects to follow (e.g., cameras, characters).
- PathFollow3D: Makes an object move along a Path3D.
Particles
- Particles3D: Creates particle systems for effects like smoke, fire, explosions, etc.
- CPUParticles3D: A faster, but less visually complex, alternative to Particles3D for when you need many particles.
Navigation
- Navigation3D: The main node for handling navigation meshes (navmeshes).
- NavigationMeshInstance3D: An instance of a navmesh, allowing characters to find paths to walk on.
- NavigationAgent3D: Attaches to a character and lets it use a navmesh to move around.
Other Helpful Nodes
- CSGBox3D, CSGSphere3D, CSGCylinder3D: Constructive Solid Geometry nodes for creating complex shapes by combining simpler ones (like adding and subtracting cubes, spheres, and cylinders).
- VisibilityNotifier3D: Detects when an object becomes visible or hidden by the camera.
- RayCast3D: Casts a ray from a point to detect collisions in the scene.
- MultiMeshInstance3D: A more efficient way to render multiple copies of the same mesh (e.g., a forest of trees).
- VehicleBody3D: For creating vehicles with realistic physics.
2D Extras (Potentially Useful for UI/HUD Overlays in 3D Games)
- ParallaxBackground: Creates a parallax scrolling background effect.
- CanvasModulate: Changes the color or transparency of everything under it.
- RichTextLabel: Displays formatted text with different styles and links.