History

  • How: Developed by Juan Linietsky and Ariel Manzur, first released publicly in 2014 as open-source.
  • Who: Maintained by the Godot Engine community and the Godot Foundation.
  • Why: To provide a fully free, open-source game engine with no royalties, no vendor lock-in, and a clean scene-based architecture.
  • Introduction

    • Godot is a feature-rich, cross-platform game engine for 2D and 3D games. It uses a unique scene/node system, supports GDScript (Python-like), C#, and C++ (via GDExtension), and exports to Windows, Linux, macOS, Android, iOS, and Web.
    • Advantages

      collapsed:: true
      • Fully open-source and free — no royalties, no subscription.
      • Lightweight editor (~100MB), fast iteration.
      • Unified 2D and 3D workflows in one engine.
      • GDScript is beginner-friendly and tightly integrated.
      • Active community, frequent releases (Godot 4.x is a major leap).
    • Disadvantages

      collapsed:: true
      • Smaller ecosystem than Unity/Unreal (fewer ready-made assets).
      • C# support in Godot 4 is still maturing (.NET 6+).
      • 3D rendering less mature than Unreal Engine for AAA-level visuals.
  • Editor & Project Setup

    • Editor Layout

      collapsed:: true
      • Scene Panel (left) — tree of all nodes in the current scene.
      • Viewport (center) — visual editor for 2D/3D.
      • Inspector (right) — properties of the selected node.
      • FileSystem (bottom-left) — project files.
      • Output / Debugger (bottom) — logs, errors, profiler.
    • Key Shortcuts

      collapsed:: true
    • Project Structure

      collapsed:: true
  • Scene & Node System

    • Core Concept

      collapsed:: true
      • Everything in Godot is a Node. A Scene is a tree of nodes saved as a .tscn file.
      • Scenes can be instanced inside other scenes — this is the primary composition pattern.
    • Common Node Types

      collapsed:: true
    • 3D Node Types

      collapsed:: true
    • Instancing Scenes

      collapsed:: true
  • GDScript — Basics

    • Variables & Types

      collapsed:: true
    • Functions

      collapsed:: true
    • Control Flow

      collapsed:: true
    • Built-in Types

      collapsed:: true
  • GDScript — OOP & Classes

    • Classes & extends

      collapsed:: true
    • Inner Classes

      collapsed:: true
    • Inheritance

      collapsed:: true
    • Signals (Observer Pattern)

      collapsed:: true
  • Core Lifecycle Methods

    • Built-in Callbacks

      collapsed:: true
    • delta Time Pattern

      collapsed:: true
  • Input System

    • Input Actions (Project Settings → Input Map)

      collapsed:: true
    • Mouse Input

      collapsed:: true
    • Gamepad Input

      collapsed:: true
  • 2D Game Development

    • CharacterBody2D — Player Movement

      collapsed:: true
    • Area2D — Overlap Detection

      collapsed:: true
    • Sprite2D & AnimatedSprite2D

      collapsed:: true
    • TileMap — Level Design

      collapsed:: true
  • 3D Game Development

    • CharacterBody3D — 3D Player Movement

      collapsed:: true
    • Camera3D — First Person Look

      collapsed:: true
    • MeshInstance3D & Materials

      collapsed:: true
    • Raycasting 3D

      collapsed:: true
  • Physics System

    • Collision Layers & Masks

      collapsed:: true
    • RigidBody2D / RigidBody3D

      collapsed:: true
    • Groups

      collapsed:: true
  • Animation System

    • AnimationPlayer

      collapsed:: true
    • AnimationTree (State Machine)

      collapsed:: true
    • Tween — Procedural Animation

      collapsed:: true
  • UI System (Control Nodes)

    • Common UI Nodes

      collapsed:: true
    • UI Scripting

      collapsed:: true
    • Anchors & Layout

      collapsed:: true
  • Audio System

    • AudioStreamPlayer

      collapsed:: true
    • Audio Buses

      collapsed:: true
  • Resource System & Data Management

    • Resources

      collapsed:: true
    • @export — Inspector Variables

      collapsed:: true
    • Saving & Loading Game Data

      collapsed:: true
  • Scene Management

    • Changing Scenes

      collapsed:: true
    • Autoloads (Singletons)

      collapsed:: true
    • SceneTree & Pausing

      collapsed:: true
  • Shaders & Visual Effects

    • Shader Basics (Godot Shading Language)

      collapsed:: true
    • Shader Parameters from GDScript

      collapsed:: true
    • GPUParticles2D / GPUParticles3D

      collapsed:: true
    • Environment & Post-Processing

      collapsed:: true
  • More Learn