Logo

About

  • Introduction
    • Before you start
    • About Godot Engine
    • Organization of the documentation
    • About this documentation
  • List of features
    • Platforms
    • Editor
    • Rendering
    • 2D graphics
    • 2D tools
    • 2D physics
    • 3D graphics
    • 3D tools
    • 3D physics
    • Shaders
    • Scripting
    • Audio
    • Import
    • Input
    • Navigation
    • Networking
    • Internationalization
    • Windowing and OS integration
    • Mobile
    • XR support (AR and VR)
    • GUI system
    • Animation
    • File formats
    • Miscellaneous
  • System requirements
    • Godot editor
      • Desktop or laptop PC - Minimum
      • Mobile device (smartphone/tablet) - Minimum
      • Desktop or laptop PC - Recommended
      • Mobile device (smartphone/tablet) - Recommended
    • Exported Godot project
      • Desktop or laptop PC - Minimum
      • Mobile device (smartphone/tablet) - Minimum
      • Desktop or laptop PC - Recommended
      • Mobile device (smartphone/tablet) - Recommended
  • Frequently asked questions
    • What can I do with Godot? How much does it cost? What are the license terms?
    • Which platforms are supported by Godot?
    • Which programming languages are supported in Godot?
    • What is GDScript and why should I use it?
    • What were the motivations behind creating GDScript?
    • Which programming language is fastest?
    • What 3D model formats does Godot support?
    • Will [insert closed SDK such as FMOD, GameWorks, etc.] be supported in Godot?
    • How can I extend Godot?
    • How do I install the Godot editor on my system (for desktop integration)?
      • Windows
      • macOS
      • Linux
    • Is the Godot editor a portable application?
    • Why does Godot aim to keep its core feature set small?
    • How should assets be created to handle multiple resolutions and aspect ratios?
    • When is the next release of Godot out?
    • Which Godot version should I use for a new project?
    • Should I upgrade my project to use new Godot versions?
    • Should I use the Forward+, Mobile, or Compatibility renderer?
    • I would like to contribute! How can I get started?
    • I have a great idea for Godot. How can I share it?
    • Is it possible to use Godot to create non-game applications?
    • Is it possible to use Godot as a library?
    • What user interface toolkit does Godot use?
    • Why does Godot use the SCons build system?
    • Why does Godot not use STL (Standard Template Library)?
    • Why does Godot not use exceptions?
    • Does Godot use an ECS (Entity Component System)?
    • Why does Godot not force users to implement DOD (Data-Oriented Design)?
    • How can I support Godot development or contribute?
    • Who is working on Godot? How can I contact you?
  • Complying with licenses
    • What are licenses?
    • Requirements
    • Inclusion
      • Credits screen
      • Licenses screen
      • Output log
      • Accompanying file
      • Printed manual
      • Link to the license
    • Third-party licenses
  • Godot release policy
    • Godot versioning
    • Release support timeline
    • Which version should I use for a new project?
    • Should I upgrade my project to use new engine versions?
    • When is the next release out?
    • What are the criteria for compatibility across engine versions?
  • Documentation changelog
    • New pages since version 4.4
      • Editor
      • GDExtension
      • Migrating
      • Scripting
    • New pages since version 4.3
      • 2D
      • 3D
      • Debug
      • Editor
      • Migrating
      • Performance
      • Physics
      • Rendering
      • Shaders
    • New pages since version 4.2
      • About
      • 2D
      • Contributing
      • GDExtension
      • Migrating
      • Rendering
      • XR
    • New pages since version 4.1
      • C#
      • Development
      • Migrating
      • I/O
      • Platform-specific
    • New pages since version 4.0
      • Development
      • Migrating
      • Physics
    • New pages since version 3.6
      • 2D
      • 3D
      • Animation
      • Assets pipeline
      • Development
      • Migrating
      • Physics
      • Scripting
      • Shaders
      • XR
    • New pages since version 3.5
    • New pages since version 3.4
      • 3D
      • Animation
      • Editor
    • New pages since version 3.3
      • GDScript
    • New pages since version 3.2
      • 3D
      • About
      • Best practices
      • Development
      • Editor
      • Export
      • Input
      • Math
      • Platform-specific
      • Physics
      • Shaders
      • Scripting
      • User Interface (UI)
    • New pages since version 3.1
      • Project workflow
      • 2D
      • Audio
      • Math
      • Inputs
      • Internationalization
      • Shading
      • Networking
      • Plugins
      • Multi-threading
      • Creating content
      • Optimization
      • Legal
    • New pages since version 3.0
      • Step by step
      • Scripting
      • Project workflow
      • 2D
      • 3D
      • Physics
      • Animation
      • GUI
      • Viewports
      • Shading
      • Plugins
      • Platform-specific
      • Multi-threading
      • Creating content
      • Miscellaneous
      • Compiling
      • Engine development

Getting started

  • Introduction
    • Introduction to Godot
      • What is Godot?
      • What can the engine do?
      • How does it work and look?
      • Programming languages
      • What do I need to know to use Godot?
    • Learn to code with GDScript
      • Learn in your browser with the GDScript app
    • Overview of Godot's key concepts
      • Scenes
      • Nodes
      • The scene tree
      • Signals
      • Summary
    • First look at Godot's interface
      • The Project Manager
      • First look at Godot's editor
      • The five main screens
      • Integrated class reference
    • Learning new features
      • Making the most of this manual
      • Learning to think like a programmer
      • Learning with the community
      • Community tutorials
    • Godot's design philosophy
      • Object-oriented design and composition
      • All-inclusive package
      • Open source
      • Community-driven
      • The Godot editor is a Godot game
      • Separate 2D and 3D engines
  • Step by step
    • Nodes and Scenes
      • Nodes
      • Scenes
      • Creating your first scene
      • Changing a node's properties
      • Running the scene
      • Setting the main scene
    • Creating instances
      • In practice
      • Editing scenes and instances
      • Scene instances as a design language
      • Summary
    • Scripting languages
      • Available scripting languages
      • Which language should I use?
        • GDScript
        • .NET / C#
        • C++ via GDExtension
      • Summary
    • Creating your first script
      • Project setup
      • Creating a new script
      • Hello, world!
      • Turning around
        • Moving forward
      • Complete script
    • Listening to player input
      • Moving when pressing "up"
      • Complete script
      • Summary
    • Using signals
      • Scene setup
      • Connecting a signal in the editor
      • Connecting a signal via code
      • Complete script
      • Custom signals
      • Summary
  • Your first 2D game
    • Prerequisites
    • Contents
      • Setting up the project
        • Organizing the project
      • Creating the player scene
        • Node structure
        • Sprite animation
      • Coding the player
        • Choosing animations
        • Preparing for collisions
      • Creating the enemy
        • Node setup
        • Enemy script
      • The main game scene
        • Spawning mobs
        • Main script
        • Testing the scene
      • Heads up display
        • ScoreLabel
        • Message
        • StartButton
        • Connecting HUD to Main
        • Removing old creeps
      • Finishing up
        • Background
        • Sound effects
        • Keyboard shortcut
        • Sharing the finished game with others
  • Your first 3D game
    • Contents
      • Setting up the game area
        • Setting up the playable area
      • Player scene and input actions
        • Creating input actions
      • Moving the player with code
        • Testing our player's movement
      • Designing the mob scene
        • Removing monsters off-screen
      • Spawning monsters
        • Creating the spawn path
        • Spawning monsters randomly
      • Jumping and squashing monsters
        • Controlling physics interactions
        • Jumping
        • Squashing monsters
      • Killing the player
        • Hitbox with the Area node
        • Ending the game
        • Code checkpoint
      • Score and replay
        • Creating a UI theme
        • Keeping track of the score
        • Retrying the game
        • Adding music
      • Character animation
        • Using the animation editor
        • The float animation
        • Animating the mobs
      • Going further