Logo
3.3

General

  • About
    • Introduction
      • Before you start
      • About Godot Engine
      • About the documentation
      • Organization of the documentation
    • 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?
      • What type of 3D model formats does Godot support?
      • Will [insert closed SDK such as FMOD, GameWorks, etc.] be supported in Godot?
      • Why does Godot use Vulkan or OpenGL instead of Direct3D?
      • Why does Godot aim to keep its core feature set small?
      • How should assets be created to handle multiple resolutions and aspect ratios?
      • How can I extend Godot?
      • When is the next release of Godot out?
      • 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 not use STL (Standard Template Library)?
      • Why does Godot not use exceptions?
      • Why does Godot not enforce RTTI?
      • 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?
    • Troubleshooting
      • Everything I do in the editor or project manager appears delayed by one frame.
      • The grid disappears and meshes turn black when I rotate the 3D camera in the editor.
      • The editor or project takes a very long time to start.
      • Editor tooltips in the Inspector and Node docks blink when they're displayed.
      • The Godot editor appears frozen after clicking the system console.
      • Some text such as "NO DC" appears in the top-left corner of the project manager and editor window.
      • The project window appears blurry, unlike the editor.
      • The project window doesn't appear centered when I run the project.
      • The project works when run from the editor, but fails to load some files when running from an exported copy.
    • List of features
      • Features
        • Platforms
        • Editor
        • 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
    • Documentation changelog
      • New tutorials since version 3.1
        • Project workflow
        • 2D
        • Audio
        • Math
        • Inputs
        • Internationalization
        • Shading
        • Networking
        • VR
        • Plugins
        • Multi-threading
        • Creating content
        • Optimization
        • Legal
      • New tutorials 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
    • Godot release policy
      • Godot versioning
      • Release support timeline
      • When is the next release out?

Getting started

  • Step by step
    • Introduction to Godot's editor
      • Project manager
        • Create or import a project
      • Your first look at Godot's editor
      • The workspaces
      • Modify the interface
        • Move and resize docks
    • Scenes and nodes
      • Introduction
      • Nodes
      • Scenes
      • Editor
      • Configuring the project
      • To be continued...
    • Instancing
      • Introduction
      • Instancing by example
      • Multiple instances
      • Editing instances
      • Conclusion
    • Instancing (continued)
      • Recap
      • Design language
      • Information overload!
    • Scripting
      • Introduction
        • GDScript
        • VisualScript
        • .NET / C#
        • GDNative / C++
      • Scripting a scene
        • Scene setup
        • Adding a script
        • The role of the script
        • Handling a signal
    • Scripting (continued)
      • Processing
      • Groups
      • Notifications
      • Overridable functions
      • Creating nodes
      • Instancing scenes
      • Register scripts as classes
    • Signals
      • Introduction
      • Timer example
        • Connecting signals in code
      • Custom signals
      • Conclusion
    • Your first game
      • Overview
      • Project setup
        • Organizing the project
      • Player scene
        • Node structure
        • Sprite animation
        • Moving the player
        • Choosing animations
        • Preparing for collisions
      • Enemy scene
        • Node setup
        • Enemy script
      • Main scene
        • Spawning mobs
        • Main script
        • Testing the scene
      • HUD
        • ScoreLabel
        • Message
        • StartButton
        • Connecting HUD to Main
        • Removing old creeps
      • Finishing up
        • Background
        • Sound effects
        • Keyboard shortcut
      • Project files
    • Exporting
      • Overview
      • Preparing the project
      • Setting a main scene
      • Export templates
      • Export presets
      • Exporting by platform
        • PC (Linux/macOS/Windows)
        • Android
        • iOS
        • HTML5 (web)
    • 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
    • Design interfaces with the Control nodes
      • The 5 most common UI elements
        • TextureRect
        • TextureButton
        • TextureProgress
        • Label
        • NinePatchRect
      • There are two workflows to build responsive UIs
      • Place UI elements precisely with anchors
        • How to change the anchor
        • Anchors are relative to the parent container
        • Margins change with the anchor
        • Use size tags to change how UI elements fill the available space
      • Arrange control nodes automatically with containers
        • The 5 most useful containers
    • Design a title screen
      • How to design your game UI
      • Design the main menu
        • Break down the UI mockup
        • Prepare the Main Menu scene
        • Add the UI sprites
        • Add containers to place UI elements automatically
        • Break down the UI mockup
    • Design the GUI
      • Breaking down the UI
      • Create the base GUI
        • Create the bars' base
        • Replace the Label's font
        • Add the progress bar
      • Design the bomb and emerald counters
      • Turn the bar and counter into reusable UI components
      • Use scene inheritance to create the remaining elements
        • Inherit the Bar Scene to build the LifeBar
        • Design the EnergyBar
        • Prepare the bomb and emerald counters
      • Add the UI components to the final GUI
      • Place the GUI onto the game's mockup
    • Control the game's UI with code
      • Intro
      • Download and explore the start project
      • Set up the Lifebar with the Player's max_health
      • Update health with a signal when the player takes a hit
      • Animate the loss of life with the Tween node
      • Assign the animated_health to the LifeBar
      • Fade the bar when the Player dies
    • Splash screen
      • Tutorial
      • Setting up
    • Animations
      • Introduction
      • Add an animation player
      • Creating the animation
      • Editing the animation
    • Resources
      • Nodes and resources
      • External vs built-in
      • Loading resources from code
      • Loading scenes
      • Freeing resources
      • Creating your own resources
    • File system
      • Introduction
      • Implementation
      • project.godot
      • Path delimiter
      • Resource path
      • User path
      • Host file system
      • Drawbacks
    • Using SceneTree
      • Introduction
      • MainLoop
      • SceneTree
      • Root viewport
      • Scene tree
      • Tree order
      • "Becoming active" by entering the Scene Tree
      • Changing current scene
    • Singletons (AutoLoad)
      • Introduction
      • AutoLoad
      • Custom scene switcher
        • Global.gd
  • Editor manual
    • Using the Web editor
      • Browser support
      • Limitations
      • Importing a project
      • Editing and running a project
      • Where are my project files?
    • Command line tutorial
      • Command line reference
      • Path
      • Setting the project path
      • Creating a project
      • Running the editor
      • Erasing a scene
      • Running the game
      • Debugging
      • Exporting
      • Running a script
    • Using an external text editor
    • Default editor shortcuts
      • General Editor Actions
      • 2D / Canvas Item Editor
      • 3D / Spatial Editor
      • Text Editor
      • Script Editor
      • Visual Script Editor
      • Editor Output
      • Debugger
      • File Dialog
      • FileSystem Dock
      • Scene Tree Dock
      • Animation Track Editor
      • Tile Map Editor
      • Tileset Editor
    • From Unity to Godot Engine
      • Differences
      • The editor
      • The scene system
      • Project organization
      • Where are my prefabs?
      • Glossary correspondence
      • Scripting: GDScript, C# and Visual Script
        • Design
        • Connections: groups and signals
        • Script serialization
      • Using Godot in C++
  • Scripting
    • GDScript
      • GDScript basics
        • Introduction
        • Language
        • Built-in types
        • Data
      • GDScript: An introduction to dynamic languages
        • About
        • Dynamic nature
        • Arrays
        • Dictionaries
        • For & while
        • While
        • Custom iterators
        • Duck typing
      • GDScript exports
        • Introduction to exports
        • Examples
        • Exporting bit flags
        • Exporting arrays
        • Setting exported variables from a tool script
        • Advanced exports
      • GDScript style guide
        • Formatting
        • Naming conventions
        • Code order
        • Static typing
      • Static typing in GDScript
        • A brief look at static typing
        • How to use static typing
        • Typed or dynamic: stick to one style
        • Warning system
        • Cases where you can't specify types
        • Summary
      • GDScript warning system
      • GDScript format strings
        • Usage in GDScript
        • Multiple placeholders
        • Format specifiers
        • Padding
        • Escape sequence
        • Format method examples
    • VisualScript
      • What is Visual Scripting
      • Getting started with Visual Scripting
        • Creating a script
        • Adding a function
      • Nodes and terminology
        • Node properties
        • Ports and connections
        • Adding nodes
        • Adding more nodes
      • Custom VisualScript nodes
        • Creating a custom node
        • Using a custom node
    • C#
      • C# basics
        • Introduction
        • Setting up C# for Godot
        • Configuring an external editor
        • Creating a C# script
        • Project setup and workflow
        • Example
        • General differences between C# and GDScript
        • Current gotchas and known issues
        • Performance of C# in Godot
        • Using NuGet packages in Godot
        • Profiling your C# code
      • C# features
        • Type conversion and casting
        • C# signals
        • Preprocessor defines
      • C# API differences to GDScript
        • General differences
        • Global scope
        • Export keyword
        • Signal keyword
        • onready keyword
        • Singletons
        • String
        • Basis
        • Transform2D
        • Plane
        • Rect2
        • Quat
        • Array
        • Dictionary
        • Variant
        • Communicating with other scripting languages
        • Yield
        • Other differences
      • C# style guide
        • Language specification
        • Formatting
        • Naming conventions
        • Member variables
        • Local variables
        • Implicitly typed local variables
        • Other considerations
    • Cross-language scripting
      • Instantiating nodes
        • Instantiating C# nodes from GDScript
        • Instantiating GDScript nodes from C#
      • Accessing fields
        • Accessing C# fields from GDScript
        • Accessing GDScript fields from C#
      • Calling methods
        • Calling C# methods from GDScript
        • Calling GDScript methods from C#
      • Inheritance
    • Creating script templates
      • Locating the templates
        • Editor-defined templates
        • Project-defined templates
      • Language support and overriding behavior
      • Default template
      • List of template placeholders
        • Base placeholders
        • Type placeholders
  • Project workflow
    • Project setup
      • Project organization
        • Introduction
        • Organization
        • Style guide
        • Importing
        • Case sensitivity
      • Version Control Systems
        • Introduction
        • Official Git plugin
        • Files to exclude from VCS
        • Working with Git on Windows
    • Assets workflow
      • Import process
        • Importing assets in Godot 3.0+
        • Changing import parameters
        • Reimporting multiple assets
        • Automatic reimport
        • Files generated
        • Changing import resource type
        • Changing default import parameters
        • Simplicity is key!
      • Importing images
        • Supported image formats
        • Importing textures
        • Compression
        • Flags
        • Process
        • Svg
      • Importing audio samples
        • Supported files
        • Best practices
      • Importing translations
        • Games and internationalization
        • Translation format
        • CSV importer
      • Importing 3D scenes
        • Godot scene importer
        • Import workflows
        • Import options
        • Animation options
        • Scene inheritance
        • Import hints
      • Blender ESCN exporter
        • Details on exporting
        • Disabling specific objects
        • Build pipeline integration
    • Export
      • Exporting projects
        • Why export?
        • Export menu
        • Exporting from the command line
        • PCK versus ZIP pack file formats
      • Exporting packs, patches, and mods
        • Use cases
        • Overview of PCK files
        • Generating PCK files
        • Opening PCK files at runtime
        • Summary
      • Feature tags
        • Introduction
        • Default features
        • Custom features
        • Overriding project settings
        • Default overrides
        • Customizing the build
      • Exporting for PC
      • Changing application icon for Windows
        • Creating an ICO file
        • Changing the taskbar icon
        • Changing the file icon
        • Testing the result
      • Exporting for Universal Windows Platform
        • Limitations on Xbox One
        • Creating a signing certificate
        • Setting up automatic signing
        • Installing the package
      • Exporting for iOS
        • Requirements
        • Export a Godot project to Xcode
        • Active development considerations
        • Plugins for iOS
      • Exporting for Android
        • Download the Android SDK
        • Install OpenJDK 11
        • Create a debug.keystore
        • Setting it up in Godot
        • Providing launcher icons
        • Exporting for Google Play Store
        • Optimizing the APK size
      • Custom builds for Android
        • Set up the custom build environment
        • Enabling the custom build and exporting
      • Exporting for the Web
        • WebGL version
        • Export options
        • Limitations
        • Serving the files
        • Calling JavaScript from script
      • Exporting for dedicated servers
        • Platform support
        • "Headless" versus "server" binaries
        • Exporting a PCK file
        • Preparing the server distribution
        • Starting the dedicated server
        • Next steps
      • One-click deploy
        • What is one-click deploy?
        • Supported platforms
        • Using one-click deploy
    • Best practices
      • Introduction
      • Applying object-oriented principles in Godot
        • How scripts work in the engine
        • Scenes
      • Scene organization
        • How to build relationships effectively
        • Choosing a node tree structure
      • When to use scenes versus scripts
        • Anonymous types
        • Named types
        • Performance of Script vs PackedScene
        • Conclusion
      • Autoloads versus regular nodes
        • The cutting audio issue
        • Managing shared functionality or data
        • When you should use an Autoload
      • When and how to avoid using nodes for everything
      • Godot interfaces
        • Acquiring object references
        • Accessing data or logic from an object
      • Godot notifications
        • _process vs. _physics_process vs. *_input
        • _init vs. initialization vs. export
        • _ready vs. _enter_tree vs. NOTIFICATION_PARENTED
      • Data preferences
        • Array vs. Dictionary vs. Object
        • Enumerations: int vs. string
        • AnimatedTexture vs. AnimatedSprite vs. AnimationPlayer vs. AnimationTree
      • Logic preferences
        • Loading vs. preloading
        • Large levels: static vs. dynamic

Tutorials

  • 2D
    • Canvas layers
      • Viewport and Canvas items
      • CanvasLayers
    • Viewport and canvas transforms
      • Introduction
      • Canvas transform
      • Global canvas transform
      • Stretch transform
      • Transform order
      • Transform functions
      • Feeding custom input events
    • Using TileMaps
      • Introduction
      • Project setup
      • TileMap node
      • Creating a TileSet
      • Collision shapes
      • Atlas tiles
        • Random tile priorities
      • Autotiles
        • 2x2
        • 3x3 (minimal)
        • 3x3
        • Disabling autotile
        • Autotile binding
      • Tips and tricks
    • Particle systems (2D)
      • Intro
        • Particle nodes
        • ParticlesMaterial
        • Texture
      • Time parameters
        • Lifetime
        • One Shot
        • Preprocess
        • Speed Scale
        • Explosiveness
        • Randomness
        • Fixed FPS
        • Fract Delta
      • Drawing parameters
        • Visibility Rect
        • Local Coords
        • Draw Order
      • ParticlesMaterial settings
        • Direction
        • Spread
        • Flatness
        • Gravity
        • Initial Velocity
        • Angular Velocity
        • Spin Velocity
        • Orbit Velocity
        • Linear Acceleration
        • Radial Acceleration
        • Tangential Acceleration
        • Damping
        • Angle
        • Scale
        • Color
        • Hue variation
      • Emission Shapes
        • Emission Mask
        • Emission Colors
    • 2D movement overview
      • Introduction
      • Setup
      • 8-way movement
      • Rotation + movement
      • Rotation + movement (mouse)
      • Click-and-move
      • Summary
    • 2D lights and shadows
      • Introduction
      • Setup
      • Nodes
      • Lights
      • Shadows
      • Step by step
    • 2D meshes
      • Introduction
      • Optimizing pixels drawn
      • Converting Sprites to 2D meshes
    • Custom drawing in 2D
      • Introduction
      • Drawing
      • Updating
      • An example: drawing circular arcs
        • Arc function
        • Draw the arc on the screen
        • Arc polygon function
        • Dynamic custom drawing
        • Antialiased drawing
      • Tools
    • 2D Sprite animation
      • Introduction
      • Individual images with AnimatedSprite
        • Controlling the animation
      • Sprite sheet with AnimatedSprite
      • Sprite sheet with AnimationPlayer
        • Controlling an AnimationPlayer animation
      • Summary
  • 3D
    • Introduction to 3D
      • Spatial node
      • 3D content
        • DCC-created models
        • Generated geometry
        • Immediate geometry
        • 2D in 3D
      • Environment
      • 3D viewport
        • Coordinate system
        • Space and manipulation gizmos
        • View menu
        • Default environment
        • Cameras
        • Lights
    • Using 3D transforms
      • Introduction
      • Problems of Euler angles
        • Axis order
        • Interpolation
        • Say no to Euler angles
      • Introducing transforms
        • Manipulating transforms
        • Precision errors
        • Obtaining information
        • Setting information
        • Interpolating with quaternions
      • Transforms are your friend
    • 3D rendering limitations
      • Introduction
      • Texture size limits
      • Color banding
      • Depth buffer precision
      • Transparency sorting
      • Multi-sample antialiasing
    • Spatial Material
      • Introduction
      • Flags
        • Transparent
        • Use Shadow to Opacity
        • Unshaded
        • Vertex Lighting
        • No Depth Test
        • Use Point Size
        • World Triplanar
        • Fixed Size
        • Do Not Receive Shadows
        • Disable Ambient Light
        • Ensure Correct Normals
      • Vertex Color
        • Use as Albedo
        • Is sRGB
      • Parameters
        • Diffuse Mode
        • Specular Mode
        • Blend Mode
        • Cull Mode
        • Depth Draw Mode
        • Line Width
        • Point Size
        • Billboard Mode
        • Billboard Keep Scale
        • Grow
        • Use Alpha Scissor
      • Material colors, maps and channels
        • Albedo
        • Metallic
        • Roughness
        • Emission
        • Normal map
        • Rim
        • Clearcoat
        • Anisotropy
        • Ambient Occlusion
        • Depth
        • Subsurface Scattering
        • Transmission
        • Refraction
        • Detail
        • UV1 and UV2
        • Triplanar Mapping
      • Proximity and distance fade
      • Render priority
    • 3D lights and shadows
      • Introduction
      • Light nodes
        • Shadow mapping
        • Directional shadow mapping
        • Omni shadow mapping
        • Spot shadow mapping
    • Reflection probes
      • Introduction
      • Setting up
      • Interior vs exterior
      • Blending
      • Reflection atlas
    • Using GIProbe
      • Introduction
      • Setting up
      • Adding lights
      • Reflections
      • Interior vs exterior
      • Tweaking
      • Quality
    • Baked lightmaps
      • Introduction
      • Visual comparison
      • Setting up
        • Unwrap on scene import
        • Unwrap from within Godot
        • Unwrap from your 3D DCC
        • Checking UV2
      • Setting up the scene
        • Configure bounds
        • Setting up meshes
        • Setting up lights
      • Baking
        • Balancing bake times with quality
        • Configuring bake
      • Dynamic objects
    • Environment and post-processing
      • Environment
        • Camera node
        • WorldEnvironment node
        • Default environment
      • Environment options
        • Background
        • Ambient Light
        • Fog
        • Tonemap
        • Auto Exposure (HDR)
      • Mid- and post-processing effects
        • Screen-Space Reflections (SSR)
        • Screen-Space Ambient Occlusion (SSAO)
        • Depth of Field / Far Blur
        • Depth of Field / Near Blur
        • Glow
        • Adjustments
    • High dynamic range lighting
      • Introduction
      • Computer displays
      • Scene linear & asset pipelines
        • sRGB transfer function to display linear ratios on image import
        • Hardware sRGB transfer function to display linear conversion
        • Scene linear to display-referred nonlinear
      • Parameters of HDR
    • Using GridMaps
      • Introduction
      • Example project
      • Creating a MeshLibrary
      • Collisions
      • Materials
      • Exporting the MeshLibrary
      • Using GridMap
      • Using GridMap in code
    • Using MultiMeshInstance
      • Introduction
      • Setting up the nodes
      • MultiMesh settings
        • Target Surface
        • Source Mesh
        • Mesh Up Axis
        • Random Rotation
        • Random Tilt
        • Random Scale
        • Scale
        • Amount
    • Prototyping levels with CSG
      • Introduction to CSG nodes
        • CSG tools features
        • CSGPolygon
        • Custom meshes
        • CSGCombiner
        • Processing order
      • Prototyping a level
      • Using prototype textures
    • FPS tutorial
      • Part 1
        • Tutorial introduction
        • Part overview
        • Getting everything ready
        • Making the FPS movement logic
        • Giving the player a flash light and the option to sprint
        • Final notes
      • Part 2
        • Part overview
        • Making a system to handle animations
        • Getting the animations ready
        • Creating the bullet scene
        • Creating the first weapon
        • Creating the other two weapons
        • Making the weapons work
        • Creating some test subjects
        • Final notes
      • Part 3
        • Part overview
        • Changing levels
        • Adding ammo
        • Adding reloading to the weapons
        • Adding reloading to the player
        • Adding sounds
        • Final notes
      • Part 4
        • Part overview
        • Adding joypad input
        • Adding mouse scroll wheel input
        • Adding the health pickups
        • Adding the ammo pickups
        • Adding breakable targets
        • Final notes
      • Part 5
        • Part overview
        • Adding grenades
        • Adding grenades to the player
        • Adding the ability to grab and throw RigidBody nodes to the player
        • Adding a turret
        • Final notes
      • Part 6
        • Part overview
        • Adding the main menu
        • Making the Globals singleton
        • Adding the debug menu
        • Adding a pause menu
        • Starting the respawn system
        • Finishing the respawn system
        • Writing a sound system we can use anywhere
        • Final notes
    • Animating thousands of objects
      • Animating thousands of fish with MultiMeshInstance
        • Animating one Fish
        • Making a school of fish
        • Animating a school of fish
      • Controlling thousands of fish with Particles
  • Audio
    • Audio buses
      • Introduction
      • Decibel scale
      • Audio buses
      • Playback of audio through a bus
      • Adding effects
        • Amplify
        • BandLimit and BandPass
        • Capture
        • Chorus
        • Compressor
        • Delay
        • Distortion
        • EQ
        • EQ6, EQ10, EQ21
        • Filter
        • HighPassFilter
        • HighShelfFilter
        • Limiter
        • LowPassFilter
        • LowShelfFilter
        • NotchFilter
        • Panner
        • Phaser
        • PitchShift
        • Record
        • Reverb
        • SpectrumAnalyzer
        • StereoEnhance
      • Automatic bus disabling
      • Bus rearrangement
      • Default bus layout
    • Audio streams
      • Introduction
      • AudioStream
      • AudioStreamPlayer
      • AudioStreamPlayer2D
      • AudioStreamPlayer3D
        • Reverb buses
        • Doppler
    • Sync the gameplay with audio and music
      • Introduction
      • Using the system clock to sync
      • Using the sound hardware clock to sync
    • Recording with microphone
      • The structure of the demo
  • Physics
    • Physics introduction
      • Collision objects
        • Physics material
        • Collision shapes
        • Physics process callback
        • Collision layers and masks
      • Area2D
      • StaticBody2D
      • RigidBody2D
        • Rigid body modes
        • Using RigidBody2D
        • Contact reporting
      • KinematicBody2D
        • Kinematic collision response
    • Using RigidBody
      • What is a rigid body?
      • How to control a rigid body
      • The "look at" method
    • Using Area2D
      • Introduction
      • What is an area?
      • Area properties
      • Overlap detection
      • Area influence
        • Point gravity
        • Examples
    • Using KinematicBody2D
      • Introduction
      • What is a kinematic body?
      • Movement and collision
        • move_and_collide
        • move_and_slide
        • move_and_slide_with_snap
      • Detecting collisions
      • Which movement method to use?
      • Examples
        • Movement and walls
        • Bouncing/reflecting
        • Platformer movement
    • Ray-casting
      • Introduction
      • Space
      • Accessing space
      • Raycast query
      • Collision exceptions
      • Collision Mask
      • 3D ray casting from screen
    • Ragdoll system
      • Introduction
      • Setting up the ragdoll
        • Creating physical bones
        • Cleaning up the skeleton
        • Collision shape adjustment
        • Joints adjustment
      • Simulating the ragdoll
        • Collision layer and mask
    • Kinematic character (2D)
      • Introduction
      • Physics process
      • Scene setup
      • Moving the kinematic character
    • Using SoftBody
      • Basic set-up
      • Cloak simulation
    • Collision shapes (3D)
      • Primitive collision shapes
      • Convex collision shapes
      • Concave or trimesh collision shapes
      • Performance caveats
  • Math
    • Vector math
      • Introduction
      • Coordinate systems (2D)
      • Vector operations
        • Member access
        • Adding vectors
        • Scalar multiplication
      • Practical applications
        • Movement
        • Pointing toward a target
      • Unit vectors
        • Normalization
        • Reflection
      • Dot product
        • Facing
      • Cross product
        • Calculating normals
        • Pointing to a target
      • More information
    • Advanced vector math
      • Planes
        • Distance to plane
        • Away from the origin
        • Constructing a plane in 2D
        • Some examples of planes
      • Collision detection in 3D
      • More information
    • Matrices and transforms
      • Introduction
        • Matrix components and the Identity matrix
        • Scaling the transformation matrix
        • Rotating the transformation matrix
        • Basis of the transformation matrix
        • Translating the transformation matrix
        • Putting it all together
        • Shearing the transformation matrix (advanced)
      • Practical applications of transforms
        • Converting positions between transforms
        • Moving an object relative to itself
        • Applying transforms onto transforms
        • Inverting a transformation matrix
      • How does it all work in 3D?
        • Representing rotation in 3D (advanced)
    • Interpolation
      • Vector interpolation
      • Transform interpolation
      • Smoothing motion
    • Beziers, curves and paths
      • Quadratic Bezier
      • Cubic Bezier
      • Adding control points
      • Curve2D, Curve3D, Path and Path2D
      • Evaluating
      • Drawing
      • Traversal
    • Random number generation
      • Global scope versus RandomNumberGenerator class
      • The randomize() method
      • Getting a random number
      • Get a random array element
      • Get a random dictionary value
      • Weighted random probability
      • "Better" randomness using shuffle bags
      • Random noise
  • Animation
    • Introduction to the animation features
      • Overview
      • Create an AnimationPlayer node
      • Computer animation relies on keyframes
      • Tutorial: Creating a simple animation
        • Scene setup
        • Adding a track
        • The second keyframe
        • Run the animation
        • Back and forth
        • Track settings
      • Keyframes for other properties
      • Edit keyframes
      • Advanced: Call Method tracks
    • Cutout animation
      • What is it?
      • Cutout animation in Godot
      • Making of GBot
      • Setting up the rig
      • Adjusting the pivot
      • RemoteTransform2D node
      • Completing the skeleton
      • Skeletons
      • IK chains
      • Animation tips
        • Setting keyframes and excluding properties
      • Creating a rest pose
      • Modifying rotation only
      • Keyframing IK chains
      • Visually move a sprite behind its parent
      • Setting easing curves for multiple keys
      • 2D Skeletal deform
    • 2D skeletons
      • Introduction
      • Setup
      • Creating the polygons
      • Creating the skeleton
      • Deforming the polygons
      • Internal vertices
    • Using AnimationTree
      • Introduction
      • Creating an AnimationTree
      • Creating a tree
      • Blend tree
        • Blend2 / Blend3
        • OneShot
        • Seek
        • TimeScale
        • Transition
        • BlendSpace2D
        • BlendSpace1D
        • StateMachine
      • Root motion
      • Controlling from code
      • State machine travel
  • Inputs
    • Using InputEvent
      • What is it?
      • How does it work?
      • Anatomy of an InputEvent
      • Actions
      • InputMap
    • Input examples
      • Introduction
      • Events versus polling
      • Input events
      • InputMap
        • Capturing actions
      • Keyboard events
        • Keyboard modifiers
      • Mouse events
        • Mouse buttons
        • Mouse motion
      • Touch events
    • Mouse and input coordinates
      • About
      • Hardware display coordinates
      • Viewport display coordinates
    • Customizing the mouse cursor
      • Using project settings
      • Using a script
      • Demo project
      • Cursor list
    • Controllers, gamepads, and joysticks
      • Supporting universal input
        • Which Input singleton method should I use?
      • Differences between keyboard/mouse and controller input
        • Dead zone
        • "Echo" events
      • Troubleshooting
        • My controller isn't recognized by Godot.
        • My controller has incorrectly mapped buttons or axes.
        • My controller works on a given platform, but not on another platform.
  • I/O
    • Background loading
      • ResourceInteractiveLoader
      • Usage
        • Obtaining a ResourceInteractiveLoader
        • Polling
        • Load progress (optional)
        • Forcing completion (optional)
        • Obtaining the resource
      • Example
      • Using multiple threads
        • Use a semaphore
        • Not blocking main thread during the polling
      • Example class
        • Example:
    • Data paths
      • Path separators
      • Resource path
      • User path (persistent data)
      • Editor data paths
        • Self-contained mode
    • Saving games
      • Introduction
      • Identify persistent objects
      • Serializing
      • Saving and reading data
      • Some notes
  • Internationalization
    • Internationalizing games
      • Introduction
      • Configuring the imported translation
      • Localizing resources
      • Converting keys to text
      • Making controls resizable
      • TranslationServer
      • Command line
      • Translating the project name
    • Localization using gettext
      • Advantages
      • Disadvantages
      • Caveats
      • Installing gettext tools
      • Creating the PO template (POT) manually
      • Creating the PO template (POT) using pybabel
      • Creating a messages file from a PO template
      • Loading a messages file in Godot
      • Updating message files to follow the PO template
      • Checking the validity of a PO file or template
    • Locales
  • GUI
    • GUI skinning
      • Oh, beautiful GUI!
      • Theme
      • Theme options
      • Customizing a control
      • Creating a theme
      • Example: theming a button
    • Custom GUI controls
      • So many controls...
      • Drawing
        • Checking control size
        • Checking focus
      • Sizing
      • Input
        • Input events
        • Notifications
    • Size and anchors
      • Centering a control
    • Using Containers
      • Container layout
      • Size flags
      • Container types
        • Box Containers
        • Grid Container
        • Margin Container
        • Tab Container
        • Split Container
        • PanelContainer
        • ScrollContainer
        • ViewportContainer
      • Creating custom Containers
    • BBCode in RichTextLabel
      • Introduction
      • Using BBCode
      • Reference
        • Built-in color names
        • Hexadecimal color codes
        • Handling [url] tag clicks
        • Image vertical offset
      • Animation effects
        • Wave
        • Tornado
        • Shake
        • Fade
        • Rainbow
      • Custom BBCode tags and text effects
        • _process_custom_fx
        • Ghost
        • Pulse
        • Matrix
    • Control node gallery
  • Viewports
    • Using Viewports
      • Introduction
      • Input
      • Listener
      • Cameras (2D & 3D)
      • Scale & stretching
      • Worlds
      • Capture
      • Viewport Container
      • Rendering
      • Render target
    • Multiple resolutions
      • The problem of multiple resolutions
      • One size fits all
      • Base size
      • Resizing
      • Stretch settings
        • Stretch Mode
        • Stretch Aspect
        • Stretch Shrink
        • From scripts
      • Common use case scenarios
        • Desktop game
        • Mobile game in landscape mode
        • Mobile game in portrait mode
        • Non-game application
      • hiDPI support
      • Reducing aliasing on downsampling
      • Handling aspect ratios
      • Field of view scaling
      • Scaling 2D and 3D elements differently using Viewports
    • Using a Viewport as a texture
      • Introduction
      • Setting up the Viewport
      • Applying the texture
      • Making the planet texture
      • Coloring the planet
      • Making an ocean
    • Custom post-processing
      • Introduction
      • Single pass post-processing
      • Multi-pass post-processing
  • Shading
    • Shading reference
      • Shaders
        • Introduction
        • Shader types
        • Render modes
        • Processor functions
      • Shading language
        • Introduction
        • Data types
        • Arrays
        • Constants
        • Operators
        • Flow control
        • Discarding
        • Functions
        • Built-in variables
        • Built-in functions
      • Spatial shaders
        • Render modes
        • Built-ins
        • Global built-ins
        • Vertex built-ins
        • Fragment built-ins
        • Light built-ins
      • CanvasItem shaders
        • Render modes
        • Built-ins
        • Global built-ins
        • Vertex built-ins
        • Fragment built-ins
        • Light built-ins
      • Particle shaders
        • Render modes
        • Built-ins
        • Global built-ins
        • Vertex built-ins
    • Your first shader
      • What are shaders?
        • Introduction
        • But what are they?
        • Structure of a shader
        • Technical overview
      • Your first CanvasItem shader
        • Introduction
        • Setup
        • Your first CanvasItem shader
        • Your first fragment function
        • Your first vertex function
        • Conclusion
      • Your first Spatial shader
        • Where to assign my material
        • Setting up
        • Shader magic
        • Noise heightmap
        • Uniforms
        • Interacting with light
      • Your first Spatial shader: part 2
        • Your first spatial fragment function
        • Animating with TIME
        • Advanced effects: waves
    • Shader materials
      • Introduction
      • Creating a ShaderMaterial
      • Converting to ShaderMaterial
    • Using VisualShaders
      • Creating a VisualShader
      • Using the Visual Shader Editor
      • Visual Shader nodes
        • Expression node
        • Fresnel node
        • Boolean node
        • If node
        • Switch node
    • Intro to shaders: 2D and 3D water
      • Watch the tutorials
      • Download the source code
    • Screen-reading shaders
      • Introduction
      • SCREEN_TEXTURE built-in texture
      • SCREEN_TEXTURE example
      • Behind the scenes
      • Back-buffer logic
      • DEPTH_TEXTURE
    • Migrating to Godot's shading language
      • Introduction
      • GLSL
        • Shader programs
        • Vertex attributes
        • gl_Position
        • Varyings
        • Main
        • Constants
        • Macros
        • Variables
        • Coordinates
        • Precision
      • Shadertoy
        • Types
        • mainImage
        • Variables
        • Coordinates
      • The Book of Shaders
        • Types
        • Main
        • Variables
        • Coordinates
    • Godot shader language style guide
      • Formatting
        • Encoding and special characters
        • Indentation
        • Line breaks and blank lines
        • Blank lines
        • Line length
        • One statement per line
        • Comment spacing
        • Whitespace
        • Floating-point numbers
      • Accessing vector members
      • Naming conventions
        • Functions and variables
        • Constants
      • Code order
        • Local variables
    • Advanced post-processing
      • Introduction
      • Full screen quad
      • Depth texture
      • An optimization
  • Networking
    • High-level multiplayer
      • High-level vs low-level API
      • Mid level abstraction
      • Initializing the network
      • Managing connections
      • RPC
      • Back to lobby
      • Starting the game
        • Player scenes
        • Synchronizing game start
      • Synchronizing the game
        • Network master
        • Master and puppet keywords
      • Exporting for dedicated servers
    • Making HTTP requests
      • Preparing scene
      • Scripting
      • Sending data to server
    • HTTP client class
    • SSL certificates
      • Introduction
      • Approach 1: self signed cert
      • Approach 2: CA cert
    • WebSocket
      • HTML5 and WebSocket
      • Using WebSocket in Godot
        • Minimal client example
        • Minimal server example
        • Advanced chat demo
    • WebRTC
      • HTML5, WebSocket, WebRTC
        • WebSocket
        • WebRTC
      • Using WebRTC in Godot
        • Minimal connection example
        • Local signaling example
        • Remote signaling with WebSocket
  • Asset Library
    • About the Asset Library
      • Types of assets
      • Frequently asked questions
        • Can paid assets be uploaded to the asset library?
    • Using the Asset Library
      • On the website
        • Overview
        • Searching
        • Breakdown of an asset
        • Registering and logging in
      • In the editor
    • Submitting to the Asset Library
      • Introduction
      • Submission guidelines
        • Requirements
        • Recommendations
      • Submitting
  • VR
    • AR/VR primer
      • AR/VR server
      • New AR/VR nodes
      • Official plugins and resources
      • Other things to consider
    • VR starter tutorial
      • VR starter tutorial part 1
        • Introduction
        • Getting everything ready
        • Starting VR
        • Creating the controllers
        • Creating a base class for interactable VR objects
        • Reducing motion sickness
        • Final notes
      • VR starter tutorial part 2
        • Introduction
        • Adding destroyable targets
        • Adding a pistol
        • Adding a shotgun
        • Adding a bomb
        • Adding a sword
        • Updating the target UI
        • Adding the final special RigidBody
        • Final notes
    • Developing for Oculus Quest
      • Introduction
      • Setting Up Godot
      • Setting Up Your Quest
  • Plugins
    • Editor plugins
      • Installing plugins
        • Finding plugins
        • Installing a plugin
        • Enabling a plugin
      • Making plugins
        • About plugins
        • Creating a plugin
        • A custom node
        • Going beyond
      • Making main screen plugins
        • What this tutorial covers
        • Initializing the plugin
        • Main screen scene
        • Update the plugin script
        • Try the plugin
      • Import plugins
        • Introduction
        • Configuration
        • The EditorImportPlugin class
        • Options and presets
        • The import method
        • Platform variants and generated files
        • Trying the plugin
      • Spatial gizmo plugins
        • Introduction
        • The EditorSpatialGizmoPlugin
        • Simple approach
        • Alternative approach
      • Inspector plugins
        • Setting up your plugin
        • Interacting with the inspector
        • Adding an interface to edit properties
      • Visual Shader plugins
    • GDNative
      • What is GDNative?
        • Introduction
        • Differences between GDNative and C++ modules
        • Supported languages
      • GDNative C example
        • Introduction
        • Prerequisites
        • Our C source
        • Compiling
        • Creating the GDNativeLibrary (.gdnlib) file
        • Creating the NativeScript (.gdns) file
      • GDNative C++ example
        • Introduction
        • Setting up the project
        • Building the C++ bindings
        • Creating a simple plugin
        • Compiling the plugin
        • Using the GDNative module
        • Adding properties
        • Signals
        • NativeScript 1.1 vs NativeScript 1.0
        • Next steps
    • Android plugins
      • Creating Android plugins
        • Introduction
        • Android plugin
        • Troubleshooting
  • Platform-specific
    • Android in-app purchases
      • Migrating from Godot 3.2.1 and lower (GodotPaymentsV3)
        • Changes
      • Usage
        • Getting started
        • Getting started
        • Querying available items
        • Purchase an item
        • Check if the user purchased an item
        • Consumables
        • Subscriptions
    • iOS plugins
      • Creating iOS plugins
        • Loading and using an existing plugin
        • Creating an iOS plugin
      • Plugins for iOS
        • Accessing plugin singletons
        • Asynchronous methods
        • Store Kit
        • Game Center
        • Multi-platform games
    • HTML5
      • HTML5 shell class reference
        • Engine
        • Engine configuration
      • Custom HTML page for Web export
        • Setup
        • Starting the project
        • Customizing the behavior
        • Customizing the presentation
        • Debugging
    • Console support in Godot
      • Console publishing process
      • Official support
      • Third-party support
  • Multi-threading
    • Using multiple threads
      • Threads
      • Creating a Thread
      • Mutexes
      • Semaphores
    • Thread-safe APIs
      • Threads
      • Global scope
      • Scene tree
      • Rendering
      • GDScript arrays, dictionaries
      • Resources
  • Creating content
    • Procedural geometry
      • Using the ArrayMesh
        • ArrayMesh
        • Generating geometry
        • Saving
      • Using the MeshDataTool
      • Using the SurfaceTool
      • Using ImmediateGeometry
      • What is geometry?
      • What is a Mesh?
      • What a Mesh is
        • Surfaces
        • Surface array
      • Tools
        • ArrayMesh
        • MeshDataTool
        • SurfaceTool
        • ImmediateGeometry
      • Which one should I use?
    • Making trees
      • Start with a tree
      • Paint with vertex colors
      • Write a custom shader for the leaves
      • Improving the shader
  • Optimization
    • Introduction
    • Common
      • General optimization tips
        • Introduction
      • Measuring performance
        • Limitations
        • Detective work
      • Profilers
      • Principles
        • Performant design
        • Incremental design
        • The optimization process
        • Optimizing bottlenecks
      • Appendix
        • Bottleneck math
      • Optimization using Servers
        • Servers
        • RIDs
        • Creating a sprite
        • Instantiating a Mesh into 3D space
        • Creating a 2D RigidBody and moving a sprite with it
        • Getting data from the servers
    • CPU
      • CPU optimization
      • Measuring performance
      • CPU profilers
        • External profilers
      • Manually timing functions
      • Caches
      • Languages
        • GDScript
        • C#
        • Other languages
        • C++
      • Threads
      • SceneTree
      • Physics
    • GPU
      • GPU optimization
        • Introduction
      • Draw calls, state changes, and APIs
        • 2D batching
        • 3D batching
        • Reuse Shaders and Materials
      • Pixel cost versus vertex cost
      • Pixel/fragment shaders and fill rate
        • Reading textures
        • Texture compression
        • Post-processing and shadows
      • Transparency and blending
      • Multi-platform advice
      • Mobile/tiled renderers
      • Optimization using MultiMeshes
        • MultiMeshes
        • Multimesh example
    • 2D
      • Optimization using batching
        • Introduction
        • How it works
        • Lights
        • Light scissoring
        • Vertex baking
        • Project Settings
        • Diagnostics
        • Frequently asked questions
        • Appendix
    • 3D
      • Optimizing 3D performance
      • Culling
        • Occlusion culling
        • Other occlusion techniques
        • Transparent objects
      • Level of detail (LOD)
        • Billboards and imposters
        • Use instancing (MultiMesh)
      • Bake lighting
      • Animation and skinning
      • Large worlds
  • Miscellaneous
    • Fixing jitter and stutter
      • What are jitter and stutter?
      • Distinguishing between them
      • Jitter
      • Stutter
        • Windows
        • Linux (X11)
        • macOS
        • Android
        • iOS
      • Reporting stutter or jitter problems
    • Handling quit requests
      • Quitting
      • Handling the notification
      • Sending your own quit notification
    • Pausing games
      • Pause?
      • How pausing works
      • White-listing nodes
      • Example
    • Binary serialization API
      • Introduction
      • Packet specification
        • 0: null
        • 1: bool
        • 2: int
        • 3: float
        • 4: String
        • 5: Vector2
        • 6: Rect2
        • 7: Vector3
        • 8: Transform2D
        • 9: Plane
        • 10: Quat
        • 11: AABB
        • 12: Basis
        • 13: Transform
        • 14: Color
        • 15: NodePath
        • 16: RID (unsupported)
        • 17: Object (unsupported)
        • 18: Dictionary
        • 19: Array
        • 20: PoolByteArray
        • 21: PoolIntArray
        • 22: PoolRealArray
        • 23: PoolStringArray
        • 24: PoolVector2Array
        • 25: PoolVector3Array
        • 26: PoolColorArray
    • Running code in the editor
      • What is tool?
      • How to use it
      • Try it out
      • Editing variables
      • Instancing scenes
    • Change scenes manually
    • Differences between GLES2 and GLES3
      • Particles
      • SCREEN_TEXTURE mip-maps
      • DEPTH_TEXTURE
      • Color space
      • HDR
      • SpatialMaterial features
      • Environment features
      • GIProbes
      • Contact shadows
      • Light performance
      • Texture compression
      • Blend shapes
      • Shading language
        • textureSize() workaround
      • Built in variables and render modes
    • Instancing with signals
      • Shooting example
    • State design pattern
      • Introduction
      • Script setup
      • Project setup
  • Debug
    • Overview of debugging tools
      • Debugger Panel
      • Debug menu options
        • Deploy with Remote Debug
        • Small Deploy with Network FS
        • Visible Collision Shapes
        • Visible Navigation
        • Sync Scene Changes
        • Sync Script Changes
      • Script editor debug tools and options
      • Debug project settings
        • Settings
        • GDScript
        • Shapes
      • Remote in scene dock
    • Debugger panel
      • Debugger
      • Errors
      • Profiler
      • Network Profiler
      • Monitors
      • Video RAM
      • Misc
  • Legal
    • 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
        • FreeType
        • ENet
        • mbed TLS

Development

  • Compiling
    • Getting the source
      • Downloading the Godot source code
    • Introduction to the buildsystem
      • SCons
      • Setup
      • Platform selection
      • Resulting binary
      • Tools
      • Target
      • Bits
      • Custom modules
      • Cleaning generated files
      • Other build options
        • Overriding the build options
      • Export templates
    • Compiling for Windows
      • Requirements
      • Setting up Python
      • Setting up SCons
      • Installing Visual Studio caveats
      • Downloading Godot's source
      • Compiling
        • Selecting a compiler
        • Running SCons
      • Development in Visual Studio or other IDEs
      • Cross-compiling for Windows from other operating systems
        • Troubleshooting
      • Creating Windows export templates
    • Compiling for X11 (Linux, *BSD)
      • Requirements
        • Distro-specific one-liners
      • Compiling
      • Compiling a headless/server build
      • Building export templates
      • Using Clang and LLD for faster development
    • Compiling for macOS
      • Requirements
      • Compiling
      • Compiling a headless/server build
      • Building export templates
      • Cross-compiling for macOS from Linux
    • Compiling for Android
      • Note
      • Requirements
      • Setting up the buildsystem
      • Building the export templates
        • Adding support for x86 devices
        • Cleaning the generated export templates
      • Using the export templates
        • Installing the templates
      • Troubleshooting
        • Platform doesn't appear in SCons
        • Application not installed
        • Application exits immediately
    • Compiling for iOS
      • Requirements
      • Compiling
      • Run
    • Cross-compiling for iOS on Linux
      • Disclaimer
      • Requirements
      • Configuring the environment
        • darling-dmg
        • Preparing the SDK
        • Toolchain
      • Compiling Godot for iPhone
        • Producing fat binaries
    • Compiling for Universal Windows Platform
      • Requirements
      • Compiling
      • Creating UWP export templates
      • Running UWP apps with Visual Studio
    • Compiling for the Web
      • Requirements
      • Building export templates
      • Threads and GDNative
      • Building the Editor
    • Compiling with Mono
      • Requirements
      • Environment variables
      • Enable the Mono module
      • Generate the glue
        • Notes
      • Rebuild with Mono glue
      • Examples
        • Example (Windows)
        • Example (X11)
      • Data directory
        • Export templates
        • Editor
      • Building the Mono runtime
      • Targeting Android
      • Targeting iOS
      • Targeting WebAssembly
      • Base Class Library
      • AOT cross-compilers
      • Command-line options
    • Optimizing a build for size
      • Rationale
      • Stripping binaries
      • Optimizing for size instead of speed
      • Compiling with link-time optimization
      • Disabling 3D
      • Disabling advanced GUI nodes
      • Disabling unwanted modules
    • Compiling with script encryption key
      • Step by step
      • Possible Errors
  • Engine development
    • Setting up a development environment
      • Configuring an IDE
        • Android Studio
        • CLion
        • Code::Blocks
        • KDevelop
        • Qt Creator
        • Visual Studio
        • Visual Studio Code
        • Xcode
    • Getting started with Godot's source code
      • Introduction to Godot development
        • Architecture diagram
        • Debugging the editor with gdb
      • Common engine methods and macros
        • Print text
        • Format a string
        • Convert an integer or float to a string
        • Internationalize a string
        • Clamp a value
        • Microbenchmarking
        • Get project/editor settings
        • Error macros
      • Core types
        • Definitions
        • Memory model
        • Allocating memory
        • Containers
        • String
        • StringName
        • Math types
        • NodePath
        • RID
      • Variant class
        • About
        • Containers: Dictionary and Array
      • Object class
        • General definition
        • Registering an Object
        • Constants
        • Properties (set/get)
        • Binding properties using _set/_get/_get_property_list
        • Dynamic casting
        • Signals
        • References
        • Resources:
        • Resource loading
        • Resource saving
      • Inheritance class tree
        • Object
        • Reference
        • Control
        • Node2D
        • Spatial
    • Extending Godot by modifying its source code
      • Custom modules in C++
        • Modules
        • What for?
        • Creating a new module
        • Using the module
        • Compiling a module externally
        • Improving the build system for development
        • Writing custom documentation
        • Adding custom editor icons
        • Summing up
      • Binding to external libraries
        • Modules
        • Using the module
      • Custom Godot servers
        • Introduction
        • What for?
        • Creating a Godot server
        • Custom managed resource data
        • Registering the class in GDScript
        • MessageQueue
        • Summing it up
      • Custom resource format loaders
        • Introduction
        • What for?
        • What not?
        • Creating a ResourceFormatLoader
        • Creating a ResourceFormatSaver
        • Creating custom data types
        • Registering the new file format
        • Loading it on GDScript
      • Custom AudioStreams
        • Introduction
        • What for?
        • Create an AudioStream
        • Create an AudioStreamPlayback
    • Debugging and profiling
      • Using C++ profilers
        • Recommended profilers
        • Setting up Godot
        • Benchmarking startup/shutdown times
        • Profiler-specific instructions
  • Editor development
    • Introduction to editor development
      • Technical choices
      • Directory structure
      • Editor dependencies in scene/ files
      • Development tips
    • Editor icons
      • Creating icons
      • Color conversion for light editor themes
      • Icon optimization
      • Integrating and sharing the icons
      • Troubleshooting
      • References
    • Editor style guide
      • Introduction
      • Writing style
      • Button and menu texts
      • Inspector sections
      • Inspector performance hints
      • Tooltips
  • Godot file formats
    • GDScript grammar
    • TSCN file format
      • File structure
        • Entries inside the file
      • The scene tree
        • NodePath
        • Skeleton
        • BoneAttachment
        • AnimationPlayer
      • Resources
        • External resources
        • Internal resources
        • ArrayMesh
        • Animation

Community

  • Contributing
    • Ways to contribute
      • Contributing code
      • Testing and reporting issues
        • Testing development versions
        • Filing an issue on GitHub
      • Contributing to the documentation
      • Contributing translations
    • Best practices for engine contributors
      • Introduction
      • Language
      • Best Practices
        • #1: The problem always comes first
        • #2: To solve the problem, it has to exist in the first place
        • #3: The problem has to be complex or frequent
        • #4: The solution must be discussed with others
        • #5: To each problem, its own solution
        • #6: Cater to common use cases, leave the door open for the rare ones
        • #7: Prefer local solutions
        • #8: Don't use complex canned solutions for simple problems
    • Pull request workflow
      • Git source repository
      • Forking and cloning
      • Branching
      • Updating your branch
      • Making changes
      • Pushing changes to a remote
      • Issuing a pull request
      • Modifying a pull request
      • The interactive rebase
      • Deleting a Git branch
    • Testing pull requests
      • Downloading a compiled build
        • If you have a GitHub account
        • If you don't have a GitHub account
      • Compiling a pull request branch from source
    • Bisecting regressions
      • What is bisecting?
      • Using official builds to speed up bisecting
      • The Git bisect command
    • Code style guidelines
      • C++ and Objective-C
        • Using clang-format locally
        • Header includes
      • Java
      • Python
        • Using black locally
      • Comment style guide
    • Bug triage guidelines
      • Issues management
        • Labels
        • Milestones
    • Building the manual with Sphinx
      • Building with Sphinx and virtualenv
    • Documentation guidelines
      • How to contribute
      • The 'Edit on GitHub' link
      • What makes good documentation?
      • Titles
      • Translating existing pages
      • License
    • Docs writing guidelines
      • 7 rules for clear English
        • Use the direct voice
        • Use precise action verbs
        • Avoid verbs that end in -ing
        • Remove unnecessary adverbs and adjectives
        • Ban these 8 words
        • Use explicit references
        • Use 's to show possession
        • Use the Oxford comma to enumerate anything
      • How to write methods and classes
        • Dynamic vs static typing
        • Use real-world code examples where appropriate
        • Give an overview of the node in the brief description
        • Mention what methods return if it's useful
        • Use "if true" to describe booleans
        • Use [code] around arguments
      • Common vocabulary to use in Godot's documentation
      • Keyboard shortcut guidelines
      • Image contribution guidelines
    • Contributing to the class reference
      • How to contribute
      • Get started with GitHub
        • Fork Godot
        • How to keep your local clone up-to-date
        • Updating the documentation template
        • Push and request a pull of your changes
      • How to edit class XML
        • How to write the class reference
        • Improve formatting with BBCode style tags
        • I don't know what this method does!
        • Localization
    • Editor and docs localization
      • Using Weblate for translations
        • Adding a new language
        • Translation interface
      • Locating original content
      • Respecting the markup syntax
        • Editor interface (C++)
        • Online documentation (RST)
        • Class reference (BBCode)
      • Offline translation and testing
      • Localizing documentation images
  • Community channels
    • Q&A
    • Rocket.Chat
    • IRC on Libera.Chat
    • Other chats
    • Language-based communities
    • Social networks
    • Forum
  • Tutorials and resources
    • Where to start
    • Video tutorials
    • Text tutorials
    • Devlogs
    • Resources

Class reference

  • Godot API
    • @GDScript
      • Description
      • Methods
      • Constants
      • Method Descriptions
    • @GlobalScope
      • Description
      • Properties
      • Enumerations
      • Constants
      • Property Descriptions
    • AABB
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • AcceptDialog
      • Description
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • AnimatedSprite
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • AnimatedSprite3D
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • AnimatedTexture
      • Description
      • Properties
      • Methods
      • Constants
      • Property Descriptions
      • Method Descriptions
    • Animation
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • AnimationNode
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • AnimationNodeAdd2
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • AnimationNodeAdd3
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • AnimationNodeAnimation
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • AnimationNodeBlend2
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • AnimationNodeBlend3
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • AnimationNodeBlendSpace1D
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • AnimationNodeBlendSpace2D
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • AnimationNodeBlendTree
      • Description
      • Tutorials
      • Properties
      • Methods
      • Constants
      • Property Descriptions
      • Method Descriptions
    • AnimationNodeOneShot
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • AnimationNodeOutput
      • Tutorials
    • AnimationNodeStateMachine
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • AnimationNodeStateMachinePlayback
      • Description
      • Tutorials
      • Properties
      • Methods
      • Method Descriptions
    • AnimationNodeStateMachineTransition
      • Tutorials
      • Properties
      • Signals
      • Enumerations
      • Property Descriptions
    • AnimationNodeTimeScale
      • Description
      • Tutorials
    • AnimationNodeTimeSeek
      • Description
      • Tutorials
    • AnimationNodeTransition
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • AnimationPlayer
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • AnimationRootNode
    • AnimationTrackEditPlugin
    • AnimationTree
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • AnimationTreePlayer
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • Area
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • Area2D
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • Array
      • Description
      • Methods
      • Method Descriptions
    • ArrayMesh
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Constants
      • Property Descriptions
      • Method Descriptions
    • ARVRAnchor
      • Description
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • ARVRCamera
      • Description
      • Tutorials
    • ARVRController
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • ARVRInterface
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • ARVRInterfaceGDNative
      • Description
    • ARVROrigin
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • ARVRPositionalTracker
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • ARVRServer
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • AspectRatioContainer
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • AStar
      • Description
      • Methods
      • Method Descriptions
    • AStar2D
      • Description
      • Methods
      • Method Descriptions
    • AtlasTexture
      • Description
      • Properties
      • Property Descriptions
    • AudioBusLayout
      • Description
    • AudioEffect
      • Description
      • Tutorials
    • AudioEffectAmplify
      • Description
      • Properties
      • Property Descriptions
    • AudioEffectBandLimitFilter
      • Description
    • AudioEffectBandPassFilter
      • Description
    • AudioEffectCapture
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • AudioEffectChorus
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • AudioEffectCompressor
      • Description
      • Properties
      • Property Descriptions
    • AudioEffectDelay
      • Description
      • Properties
      • Property Descriptions
    • AudioEffectDistortion
      • Description
      • Tutorials
      • Properties
      • Enumerations
      • Property Descriptions
    • AudioEffectEQ
      • Description
      • Methods
      • Method Descriptions
    • AudioEffectEQ10
      • Description
    • AudioEffectEQ21
      • Description
    • AudioEffectEQ6
      • Description
    • AudioEffectFilter
      • Description
      • Tutorials
      • Properties
      • Enumerations
      • Property Descriptions
    • AudioEffectHighPassFilter
      • Description
    • AudioEffectHighShelfFilter
      • Tutorials
    • AudioEffectInstance
    • AudioEffectLimiter
      • Description
      • Properties
      • Property Descriptions
    • AudioEffectLowPassFilter
      • Description
    • AudioEffectLowShelfFilter
      • Tutorials
    • AudioEffectNotchFilter
      • Description
    • AudioEffectPanner
      • Description
      • Properties
      • Property Descriptions
    • AudioEffectPhaser
      • Description
      • Properties
      • Property Descriptions
    • AudioEffectPitchShift
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • AudioEffectRecord
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • AudioEffectReverb
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • AudioEffectSpectrumAnalyzer
      • Properties
      • Enumerations
      • Property Descriptions
    • AudioEffectSpectrumAnalyzerInstance
      • Methods
      • Enumerations
      • Method Descriptions
    • AudioEffectStereoEnhance
      • Properties
      • Property Descriptions
    • AudioServer
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • AudioStream
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • AudioStreamGenerator
      • Tutorials
      • Properties
      • Property Descriptions
    • AudioStreamGeneratorPlayback
      • Tutorials
      • Methods
      • Method Descriptions
    • AudioStreamMicrophone
    • AudioStreamMP3
      • Description
      • Properties
      • Property Descriptions
    • AudioStreamOGGVorbis
      • Description
      • Properties
      • Property Descriptions
    • AudioStreamPlayback
      • Description
      • Tutorials
    • AudioStreamPlaybackResampled
    • AudioStreamPlayer
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • AudioStreamPlayer2D
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • AudioStreamPlayer3D
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • AudioStreamRandomPitch
      • Description
      • Properties
      • Property Descriptions
    • AudioStreamSample
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • BackBufferCopy
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • BakedLightmap
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • BakedLightmapData
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • BaseButton
      • Description
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • Basis
      • Description
      • Tutorials
      • Properties
      • Methods
      • Constants
      • Property Descriptions
      • Method Descriptions
    • BitMap
      • Description
      • Methods
      • Method Descriptions
    • BitmapFont
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • Bone2D
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • BoneAttachment
      • Description
      • Properties
      • Property Descriptions
    • bool
      • Description
      • Methods
      • Method Descriptions
    • BoxContainer
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • BoxShape
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • BulletPhysicsServer
    • Button
      • Description
      • Tutorials
      • Properties
      • Theme Properties
      • Enumerations
      • Property Descriptions
    • ButtonGroup
      • Description
      • Properties
      • Methods
      • Method Descriptions
    • Camera
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • Camera2D
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • CameraFeed
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • CameraServer
      • Description
      • Methods
      • Signals
      • Enumerations
      • Method Descriptions
    • CameraTexture
      • Description
      • Properties
      • Property Descriptions
    • CanvasItem
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Constants
      • Property Descriptions
      • Method Descriptions
    • CanvasItemMaterial
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • CanvasLayer
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • CanvasModulate
      • Description
      • Properties
      • Property Descriptions
    • CapsuleMesh
      • Description
      • Properties
      • Property Descriptions
    • CapsuleShape
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • CapsuleShape2D
      • Description
      • Properties
      • Property Descriptions
    • CenterContainer
      • Description
      • Properties
      • Property Descriptions
    • CharFXTransform
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • CheckBox
      • Description
      • Properties
      • Theme Properties
    • CheckButton
      • Description
      • Properties
      • Theme Properties
    • CircleShape2D
      • Description
      • Properties
      • Property Descriptions
    • ClassDB
      • Description
      • Methods
      • Method Descriptions
    • ClippedCamera
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • CollisionObject
      • Description
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • CollisionObject2D
      • Description
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • CollisionPolygon
      • Description
      • Properties
      • Property Descriptions
    • CollisionPolygon2D
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • CollisionShape
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • CollisionShape2D
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • Color
      • Description
      • Tutorials
      • Properties
      • Methods
      • Constants
      • Property Descriptions
      • Method Descriptions
    • ColorPicker
      • Description
      • Tutorials
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Property Descriptions
      • Method Descriptions
    • ColorPickerButton
      • Description
      • Tutorials
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Property Descriptions
      • Method Descriptions
    • ColorRect
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • ConcavePolygonShape
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • ConcavePolygonShape2D
      • Description
      • Properties
      • Property Descriptions
    • ConeTwistJoint
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • ConfigFile
      • Description
      • Methods
      • Method Descriptions
    • ConfirmationDialog
      • Description
      • Properties
      • Methods
      • Method Descriptions
    • Container
      • Description
      • Methods
      • Signals
      • Constants
      • Method Descriptions
    • Control
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Constants
      • Property Descriptions
      • Method Descriptions
    • ConvexPolygonShape
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • ConvexPolygonShape2D
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • CPUParticles
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • CPUParticles2D
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • Crypto
      • Description
      • Methods
      • Method Descriptions
    • CryptoKey
      • Description
      • Methods
      • Method Descriptions
    • CSGBox
      • Description
      • Properties
      • Property Descriptions
    • CSGCombiner
      • Description
    • CSGCylinder
      • Description
      • Properties
      • Property Descriptions
    • CSGMesh
      • Description
      • Properties
      • Property Descriptions
    • CSGPolygon
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • CSGPrimitive
      • Description
      • Properties
      • Property Descriptions
    • CSGShape
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • CSGSphere
      • Description
      • Properties
      • Property Descriptions
    • CSGTorus
      • Description
      • Properties
      • Property Descriptions
    • CSharpScript
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • CubeMap
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • CubeMesh
      • Description
      • Properties
      • Property Descriptions
    • Curve
      • Description
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • Curve2D
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • Curve3D
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • CurveTexture
      • Description
      • Properties
      • Property Descriptions
    • CylinderMesh
      • Description
      • Properties
      • Property Descriptions
    • CylinderShape
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • DampedSpringJoint2D
      • Description
      • Properties
      • Property Descriptions
    • Dictionary
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • DirectionalLight
      • Description
      • Tutorials
      • Properties
      • Enumerations
      • Property Descriptions
    • Directory
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • DTLSServer
      • Description
      • Methods
      • Method Descriptions
    • DynamicFont
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • DynamicFontData
      • Description
      • Tutorials
      • Properties
      • Enumerations
      • Property Descriptions
    • EditorExportPlugin
      • Description
      • Methods
      • Method Descriptions
    • EditorFeatureProfile
      • Description
      • Methods
      • Enumerations
      • Method Descriptions
    • EditorFileDialog
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • EditorFileSystem
      • Description
      • Methods
      • Signals
      • Method Descriptions
    • EditorFileSystemDirectory
      • Description
      • Methods
      • Method Descriptions
    • EditorImportPlugin
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • EditorInspector
      • Description
      • Properties
      • Methods
      • Signals
      • Method Descriptions
    • EditorInspectorPlugin
      • Description
      • Methods
      • Method Descriptions
    • EditorInterface
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • EditorNavigationMeshGenerator
      • Methods
      • Method Descriptions
    • EditorPlugin
      • Description
      • Tutorials
      • Methods
      • Signals
      • Enumerations
      • Method Descriptions
    • EditorProperty
      • Description
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • EditorResourceConversionPlugin
      • Methods
      • Method Descriptions
    • EditorResourcePreview
      • Description
      • Methods
      • Signals
      • Method Descriptions
    • EditorResourcePreviewGenerator
      • Description
      • Methods
      • Method Descriptions
    • EditorSceneImporter
      • Methods
      • Constants
      • Method Descriptions
    • EditorSceneImporterFBX
      • Description
    • EditorScenePostImport
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • EditorScript
      • Description
      • Methods
      • Method Descriptions
    • EditorSelection
      • Description
      • Methods
      • Signals
      • Method Descriptions
    • EditorSettings
      • Description
      • Methods
      • Signals
      • Constants
      • Method Descriptions
    • EditorSpatialGizmo
      • Description
      • Methods
      • Method Descriptions
    • EditorSpatialGizmoPlugin
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • EditorSpinSlider
      • Properties
      • Property Descriptions
    • EditorVCSInterface
      • Description
      • Methods
      • Method Descriptions
    • EncodedObjectAsID
      • Description
      • Properties
      • Property Descriptions
    • Engine
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • Environment
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • Expression
      • Description
      • Methods
      • Method Descriptions
    • ExternalTexture
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • File
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • FileDialog
      • Description
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • FileSystemDock
      • Methods
      • Signals
      • Method Descriptions
    • float
      • Description
      • Methods
      • Method Descriptions
    • Font
      • Description
      • Methods
      • Method Descriptions
    • FuncRef
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • GDNative
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • GDNativeLibrary
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • GDScript
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • GDScriptFunctionState
      • Description
      • Methods
      • Signals
      • Method Descriptions
    • Generic6DOFJoint
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • Geometry
      • Description
      • Methods
      • Enumerations
      • Method Descriptions
    • GeometryInstance
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • GIProbe
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • GIProbeData
      • Tutorials
      • Properties
      • Property Descriptions
    • GodotSharp
      • Description
      • Methods
      • Method Descriptions
    • Gradient
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • GradientTexture
      • Description
      • Properties
      • Property Descriptions
    • GraphEdit
      • Description
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Property Descriptions
      • Method Descriptions
    • GraphNode
      • Description
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • GridContainer
      • Description
      • Tutorials
      • Properties
      • Theme Properties
      • Property Descriptions
    • GridMap
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Constants
      • Property Descriptions
      • Method Descriptions
    • GrooveJoint2D
      • Description
      • Properties
      • Property Descriptions
    • HashingContext
      • Description
      • Methods
      • Enumerations
      • Method Descriptions
    • HBoxContainer
      • Description
      • Theme Properties
    • HeightMapShape
      • Description
      • Properties
      • Property Descriptions
    • HingeJoint
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • HScrollBar
      • Description
      • Theme Properties
    • HSeparator
      • Description
      • Theme Properties
    • HSlider
      • Description
      • Theme Properties
    • HSplitContainer
      • Description
      • Theme Properties
    • HTTPClient
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • HTTPRequest
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • Image
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Constants
      • Property Descriptions
      • Method Descriptions
    • ImageTexture
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • ImmediateGeometry
      • Description
      • Methods
      • Method Descriptions
    • Input
      • Description
      • Tutorials
      • Methods
      • Signals
      • Enumerations
      • Method Descriptions
    • InputEvent
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • InputEventAction
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • InputEventGesture
      • Properties
      • Property Descriptions
    • InputEventJoypadButton
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • InputEventJoypadMotion
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • InputEventKey
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • InputEventMagnifyGesture
      • Properties
      • Property Descriptions
    • InputEventMIDI
      • Properties
      • Property Descriptions
    • InputEventMouse
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • InputEventMouseButton
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • InputEventMouseMotion
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • InputEventPanGesture
      • Properties
      • Property Descriptions
    • InputEventScreenDrag
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • InputEventScreenTouch
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • InputEventWithModifiers
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • InputMap
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • InstancePlaceholder
      • Description
      • Methods
      • Method Descriptions
    • int
      • Description
      • Methods
      • Method Descriptions
    • InterpolatedCamera
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • IP
      • Description
      • Methods
      • Enumerations
      • Constants
      • Method Descriptions
    • ItemList
      • Description
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • JavaClass
    • JavaClassWrapper
      • Methods
      • Method Descriptions
    • JavaScript
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • JNISingleton
    • Joint
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • Joint2D
      • Description
      • Properties
      • Property Descriptions
    • JSON
      • Description
      • Methods
      • Method Descriptions
    • JSONParseResult
      • Description
      • Properties
      • Property Descriptions
    • JSONRPC
      • Methods
      • Enumerations
      • Method Descriptions
    • KinematicBody
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • KinematicBody2D
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • KinematicCollision
      • Description
      • Properties
      • Property Descriptions
    • KinematicCollision2D
      • Description
      • Properties
      • Property Descriptions
    • Label
      • Description
      • Tutorials
      • Properties
      • Methods
      • Theme Properties
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • LargeTexture
      • Description
      • Properties
      • Methods
      • Method Descriptions
    • Light
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • Light2D
      • Description
      • Tutorials
      • Properties
      • Enumerations
      • Property Descriptions
    • LightOccluder2D
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • Line2D
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • LineEdit
      • Description
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • LineShape2D
      • Description
      • Properties
      • Property Descriptions
    • LinkButton
      • Description
      • Properties
      • Theme Properties
      • Enumerations
      • Property Descriptions
    • Listener
      • Description
      • Methods
      • Method Descriptions
    • MainLoop
      • Description
      • Methods
      • Signals
      • Constants
      • Method Descriptions
    • MarginContainer
      • Description
      • Theme Properties
    • Marshalls
      • Description
      • Methods
      • Method Descriptions
    • Material
      • Description
      • Tutorials
      • Properties
      • Constants
      • Property Descriptions
    • MenuButton
      • Description
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Property Descriptions
      • Method Descriptions
    • Mesh
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • MeshDataTool
      • Description
      • Methods
      • Method Descriptions
    • MeshInstance
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • MeshInstance2D
      • Description
      • Tutorials
      • Properties
      • Signals
      • Property Descriptions
    • MeshLibrary
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • MeshTexture
      • Description
      • Properties
      • Property Descriptions
    • MobileVRInterface
      • Description
      • Properties
      • Property Descriptions
    • MultiMesh
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • MultiMeshInstance
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • MultiMeshInstance2D
      • Description
      • Properties
      • Signals
      • Property Descriptions
    • MultiplayerAPI
      • Description
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • MultiplayerPeerGDNative
    • Mutex
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • NativeScript
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • Navigation
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • Navigation2D
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • NavigationMesh
      • Tutorials
      • Properties
      • Methods
      • Constants
      • Property Descriptions
      • Method Descriptions
    • NavigationMeshInstance
      • Properties
      • Property Descriptions
    • NavigationPolygon
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • NavigationPolygonInstance
      • Properties
      • Property Descriptions
    • NetworkedMultiplayerENet
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • NetworkedMultiplayerPeer
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Constants
      • Property Descriptions
      • Method Descriptions
    • NinePatchRect
      • Description
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • Node
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Constants
      • Property Descriptions
      • Method Descriptions
    • Node2D
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • NodePath
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • NoiseTexture
      • Description
      • Properties
      • Property Descriptions
    • Object
      • Description
      • Tutorials
      • Methods
      • Signals
      • Enumerations
      • Constants
      • Method Descriptions
    • OccluderPolygon2D
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • OmniLight
      • Description
      • Tutorials
      • Properties
      • Enumerations
      • Property Descriptions
    • OpenSimplexNoise
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • OptionButton
      • Description
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Property Descriptions
      • Method Descriptions
    • OS
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • PackedDataContainer
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • PackedDataContainerRef
      • Methods
      • Method Descriptions
    • PackedScene
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • PacketPeer
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • PacketPeerDTLS
      • Description
      • Methods
      • Enumerations
      • Method Descriptions
    • PacketPeerGDNative
    • PacketPeerStream
      • Description
      • Properties
      • Property Descriptions
    • PacketPeerUDP
      • Description
      • Methods
      • Method Descriptions
    • Panel
      • Description
      • Tutorials
      • Theme Properties
    • PanelContainer
      • Description
      • Tutorials
      • Theme Properties
    • PanoramaSky
      • Description
      • Properties
      • Property Descriptions
    • ParallaxBackground
      • Description
      • Properties
      • Property Descriptions
    • ParallaxLayer
      • Description
      • Properties
      • Property Descriptions
    • Particles
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Constants
      • Property Descriptions
      • Method Descriptions
    • Particles2D
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • ParticlesMaterial
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • Path
      • Description
      • Properties
      • Signals
      • Property Descriptions
    • Path2D
      • Description
      • Properties
      • Property Descriptions
    • PathFollow
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • PathFollow2D
      • Description
      • Properties
      • Property Descriptions
    • PCKPacker
      • Description
      • Methods
      • Method Descriptions
    • Performance
      • Description
      • Methods
      • Enumerations
      • Method Descriptions
    • PHashTranslation
      • Description
      • Methods
      • Method Descriptions
    • PhysicalBone
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • Physics2DDirectBodyState
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • Physics2DDirectSpaceState
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • Physics2DServer
      • Description
      • Methods
      • Enumerations
      • Method Descriptions
    • Physics2DShapeQueryParameters
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • Physics2DShapeQueryResult
      • Description
      • Methods
      • Method Descriptions
    • Physics2DTestMotionResult
      • Properties
      • Property Descriptions
    • PhysicsBody
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • PhysicsBody2D
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • PhysicsDirectBodyState
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • PhysicsDirectSpaceState
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • PhysicsMaterial
      • Description
      • Properties
      • Property Descriptions
    • PhysicsServer
      • Description
      • Methods
      • Enumerations
      • Method Descriptions
    • PhysicsShapeQueryParameters
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • PhysicsShapeQueryResult
      • Description
      • Methods
      • Method Descriptions
    • PinJoint
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • PinJoint2D
      • Description
      • Properties
      • Property Descriptions
    • Plane
      • Description
      • Tutorials
      • Properties
      • Methods
      • Constants
      • Property Descriptions
      • Method Descriptions
    • PlaneMesh
      • Description
      • Properties
      • Property Descriptions
    • PlaneShape
      • Description
      • Properties
      • Property Descriptions
    • PluginScript
      • Methods
      • Method Descriptions
    • PointMesh
      • Description
    • Polygon2D
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • PolygonPathFinder
      • Methods
      • Method Descriptions
    • PoolByteArray
      • Description
      • Methods
      • Method Descriptions
    • PoolColorArray
      • Description
      • Methods
      • Method Descriptions
    • PoolIntArray
      • Description
      • Methods
      • Method Descriptions
    • PoolRealArray
      • Description
      • Methods
      • Method Descriptions
    • PoolStringArray
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • PoolVector2Array
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • PoolVector3Array
      • Description
      • Methods
      • Method Descriptions
    • Popup
      • Description
      • Properties
      • Methods
      • Signals
      • Constants
      • Property Descriptions
      • Method Descriptions
    • PopupDialog
      • Description
      • Theme Properties
    • PopupMenu
      • Description
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Property Descriptions
      • Method Descriptions
    • PopupPanel
      • Description
      • Theme Properties
    • Position2D
      • Description
    • Position3D
      • Description
    • PrimitiveMesh
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • PrismMesh
      • Description
      • Properties
      • Property Descriptions
    • ProceduralSky
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • ProgressBar
      • Description
      • Properties
      • Theme Properties
      • Property Descriptions
    • ProjectSettings
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • ProximityGroup
      • Description
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • ProxyTexture
      • Properties
      • Property Descriptions
    • QuadMesh
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • Quat
      • Description
      • Tutorials
      • Properties
      • Methods
      • Constants
      • Property Descriptions
      • Method Descriptions
    • RandomNumberGenerator
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • Range
      • Description
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • RayCast
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • RayCast2D
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • RayShape
      • Description
      • Properties
      • Property Descriptions
    • RayShape2D
      • Description
      • Properties
      • Property Descriptions
    • Rect2
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • RectangleShape2D
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • Reference
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • ReferenceRect
      • Description
      • Properties
      • Property Descriptions
    • ReflectionProbe
      • Description
      • Tutorials
      • Properties
      • Enumerations
      • Property Descriptions
    • RegEx
      • Description
      • Methods
      • Method Descriptions
    • RegExMatch
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • RemoteTransform
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • RemoteTransform2D
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • Resource
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • ResourceFormatLoader
      • Description
      • Methods
      • Method Descriptions
    • ResourceFormatSaver
      • Description
      • Methods
      • Method Descriptions
    • ResourceImporter
    • ResourceInteractiveLoader
      • Description
      • Methods
      • Method Descriptions
    • ResourceLoader
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • ResourcePreloader
      • Description
      • Methods
      • Method Descriptions
    • ResourceSaver
      • Description
      • Methods
      • Enumerations
      • Method Descriptions
    • RichTextEffect
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • RichTextLabel
      • Description
      • Tutorials
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • RID
      • Description
      • Methods
      • Method Descriptions
    • RigidBody
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • RigidBody2D
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • RootMotionView
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • SceneState
      • Description
      • Methods
      • Enumerations
      • Method Descriptions
    • SceneTree
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • SceneTreeTimer
      • Description
      • Properties
      • Signals
      • Property Descriptions
    • Script
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • ScriptCreateDialog
      • Description
      • Properties
      • Methods
      • Signals
      • Method Descriptions
    • ScriptEditor
      • Description
      • Methods
      • Signals
      • Method Descriptions
    • ScrollBar
      • Description
      • Properties
      • Signals
      • Property Descriptions
    • ScrollContainer
      • Description
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Property Descriptions
      • Method Descriptions
    • SegmentShape2D
      • Description
      • Properties
      • Property Descriptions
    • Semaphore
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • Separator
      • Description
    • Shader
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • ShaderMaterial
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • Shape
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • Shape2D
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • ShortCut
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • Skeleton
      • Description
      • Tutorials
      • Methods
      • Signals
      • Constants
      • Method Descriptions
    • Skeleton2D
      • Description
      • Tutorials
      • Methods
      • Signals
      • Method Descriptions
    • SkeletonIK
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • Skin
      • Methods
      • Method Descriptions
    • SkinReference
      • Methods
      • Method Descriptions
    • Sky
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • Slider
      • Description
      • Properties
      • Property Descriptions
    • SliderJoint
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • SoftBody
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • Spatial
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Constants
      • Property Descriptions
      • Method Descriptions
    • SpatialGizmo
    • SpatialMaterial
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • SpatialVelocityTracker
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • SphereMesh
      • Description
      • Properties
      • Property Descriptions
    • SphereShape
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • SpinBox
      • Description
      • Properties
      • Methods
      • Theme Properties
      • Property Descriptions
      • Method Descriptions
    • SplitContainer
      • Description
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • SpotLight
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • SpringArm
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • Sprite
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • Sprite3D
      • Description
      • Properties
      • Signals
      • Property Descriptions
    • SpriteBase3D
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • SpriteFrames
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • StaticBody
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • StaticBody2D
      • Description
      • Properties
      • Property Descriptions
    • StreamPeer
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • StreamPeerBuffer
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • StreamPeerGDNative
    • StreamPeerSSL
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • StreamPeerTCP
      • Description
      • Methods
      • Enumerations
      • Method Descriptions
    • StreamTexture
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • String
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • StyleBox
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • StyleBoxEmpty
      • Description
    • StyleBoxFlat
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • StyleBoxLine
      • Description
      • Properties
      • Property Descriptions
    • StyleBoxTexture
      • Description
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • SurfaceTool
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • TabContainer
      • Description
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • Tabs
      • Description
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • TCP_Server
      • Description
      • Methods
      • Method Descriptions
    • TextEdit
      • Description
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • TextFile
    • Texture
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • Texture3D
      • Description
      • Properties
    • TextureArray
      • Description
    • TextureButton
      • Description
      • Tutorials
      • Properties
      • Enumerations
      • Property Descriptions
    • TextureLayered
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • TextureProgress
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • TextureRect
      • Description
      • Tutorials
      • Properties
      • Enumerations
      • Property Descriptions
    • Theme
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • Thread
      • Description
      • Tutorials
      • Methods
      • Enumerations
      • Method Descriptions
    • TileMap
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Constants
      • Property Descriptions
      • Method Descriptions
    • TileSet
      • Description
      • Tutorials
      • Methods
      • Enumerations
      • Method Descriptions
    • Timer
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • ToolButton
      • Description
      • Properties
      • Theme Properties
    • TouchScreenButton
      • Description
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • Transform
      • Description
      • Tutorials
      • Properties
      • Methods
      • Constants
      • Property Descriptions
      • Method Descriptions
    • Transform2D
      • Description
      • Tutorials
      • Properties
      • Methods
      • Constants
      • Property Descriptions
      • Method Descriptions
    • Translation
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • TranslationServer
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • Tree
      • Description
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • TreeItem
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • TriangleMesh
      • Description
    • Tween
      • Description
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • UDPServer
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • UndoRedo
      • Description
      • Methods
      • Signals
      • Enumerations
      • Method Descriptions
    • UPNP
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • UPNPDevice
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • Variant
      • Description
      • Tutorials
    • VBoxContainer
      • Description
      • Tutorials
      • Theme Properties
    • Vector2
      • Description
      • Tutorials
      • Properties
      • Methods
      • Constants
      • Property Descriptions
      • Method Descriptions
    • Vector3
      • Description
      • Tutorials
      • Properties
      • Methods
      • Constants
      • Property Descriptions
      • Method Descriptions
    • VehicleBody
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • VehicleWheel
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • VideoPlayer
      • Description
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • VideoStream
      • Description
    • VideoStreamGDNative
      • Description
      • Methods
      • Method Descriptions
    • VideoStreamTheora
      • Description
      • Methods
      • Method Descriptions
    • VideoStreamWebm
      • Description
      • Methods
      • Method Descriptions
    • Viewport
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • ViewportContainer
      • Description
      • Properties
      • Property Descriptions
    • ViewportTexture
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • VisibilityEnabler
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • VisibilityEnabler2D
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • VisibilityNotifier
      • Description
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • VisibilityNotifier2D
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • VisualInstance
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • VisualScript
      • Description
      • Tutorials
      • Methods
      • Signals
      • Method Descriptions
    • VisualScriptBasicTypeConstant
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptBuiltinFunc
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualScriptClassConstant
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptComment
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptComposeArray
      • Description
    • VisualScriptCondition
      • Description
    • VisualScriptConstant
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptConstructor
      • Description
      • Methods
      • Method Descriptions
    • VisualScriptCustomNode
      • Description
      • Methods
      • Enumerations
      • Constants
      • Method Descriptions
    • VisualScriptDeconstruct
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptEditor
      • Methods
      • Signals
      • Method Descriptions
    • VisualScriptEmitSignal
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptEngineSingleton
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptExpression
    • VisualScriptFunction
    • VisualScriptFunctionCall
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualScriptFunctionState
      • Methods
      • Method Descriptions
    • VisualScriptGlobalConstant
      • Properties
      • Property Descriptions
    • VisualScriptIndexGet
    • VisualScriptIndexSet
    • VisualScriptInputAction
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualScriptIterator
      • Description
    • VisualScriptLists
      • Description
      • Methods
      • Method Descriptions
    • VisualScriptLocalVar
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptLocalVarSet
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptMathConstant
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualScriptNode
      • Description
      • Methods
      • Signals
      • Method Descriptions
    • VisualScriptOperator
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptPreload
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptPropertyGet
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualScriptPropertySet
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualScriptResourcePath
      • Properties
      • Property Descriptions
    • VisualScriptReturn
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptSceneNode
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptSceneTree
    • VisualScriptSelect
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptSelf
      • Description
    • VisualScriptSequence
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptSubCall
      • Methods
      • Method Descriptions
    • VisualScriptSwitch
      • Description
    • VisualScriptTypeCast
      • Properties
      • Property Descriptions
    • VisualScriptVariableGet
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptVariableSet
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptWhile
      • Description
    • VisualScriptYield
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualScriptYieldSignal
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualServer
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Constants
      • Property Descriptions
      • Method Descriptions
    • VisualShader
      • Description
      • Properties
      • Methods
      • Enumerations
      • Constants
      • Property Descriptions
      • Method Descriptions
    • VisualShaderNode
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • VisualShaderNodeBooleanConstant
      • Description
      • Properties
      • Property Descriptions
    • VisualShaderNodeBooleanUniform
      • Description
    • VisualShaderNodeColorConstant
      • Description
      • Properties
      • Property Descriptions
    • VisualShaderNodeColorFunc
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualShaderNodeColorOp
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualShaderNodeColorUniform
      • Description
    • VisualShaderNodeCompare
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualShaderNodeCubeMap
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualShaderNodeCubeMapUniform
      • Description
    • VisualShaderNodeCustom
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • VisualShaderNodeDeterminant
      • Description
    • VisualShaderNodeDotProduct
      • Description
    • VisualShaderNodeExpression
      • Description
      • Properties
      • Property Descriptions
    • VisualShaderNodeFaceForward
      • Description
    • VisualShaderNodeFresnel
      • Description
    • VisualShaderNodeGlobalExpression
      • Description
    • VisualShaderNodeGroupBase
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • VisualShaderNodeIf
    • VisualShaderNodeInput
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • VisualShaderNodeIs
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualShaderNodeOuterProduct
      • Description
    • VisualShaderNodeOutput
      • Description
    • VisualShaderNodeScalarClamp
      • Description
    • VisualShaderNodeScalarConstant
      • Properties
      • Property Descriptions
    • VisualShaderNodeScalarDerivativeFunc
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualShaderNodeScalarFunc
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualShaderNodeScalarInterp
      • Description
    • VisualShaderNodeScalarOp
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualShaderNodeScalarSmoothStep
      • Description
    • VisualShaderNodeScalarSwitch
      • Description
    • VisualShaderNodeScalarUniform
    • VisualShaderNodeSwitch
      • Description
    • VisualShaderNodeTexture
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualShaderNodeTextureUniform
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualShaderNodeTextureUniformTriplanar
      • Description
    • VisualShaderNodeTransformCompose
      • Description
    • VisualShaderNodeTransformConstant
      • Description
      • Properties
      • Property Descriptions
    • VisualShaderNodeTransformDecompose
      • Description
    • VisualShaderNodeTransformFunc
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualShaderNodeTransformMult
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualShaderNodeTransformUniform
      • Description
    • VisualShaderNodeTransformVecMult
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualShaderNodeUniform
      • Description
      • Properties
      • Property Descriptions
    • VisualShaderNodeUniformRef
      • Description
      • Properties
      • Property Descriptions
    • VisualShaderNodeVec3Constant
      • Description
      • Properties
      • Property Descriptions
    • VisualShaderNodeVec3Uniform
      • Description
    • VisualShaderNodeVectorClamp
      • Description
    • VisualShaderNodeVectorCompose
      • Description
    • VisualShaderNodeVectorDecompose
      • Description
    • VisualShaderNodeVectorDerivativeFunc
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualShaderNodeVectorDistance
      • Description
    • VisualShaderNodeVectorFunc
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualShaderNodeVectorInterp
      • Description
    • VisualShaderNodeVectorLen
      • Description
    • VisualShaderNodeVectorOp
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualShaderNodeVectorRefract
      • Description
    • VisualShaderNodeVectorScalarMix
      • Description
    • VisualShaderNodeVectorScalarSmoothStep
      • Description
    • VisualShaderNodeVectorScalarStep
      • Description
    • VisualShaderNodeVectorSmoothStep
      • Description
    • VScrollBar
      • Description
      • Properties
      • Theme Properties
    • VSeparator
      • Description
      • Theme Properties
    • VSlider
      • Description
      • Properties
      • Theme Properties
    • VSplitContainer
      • Description
      • Theme Properties
    • WeakRef
      • Description
      • Methods
      • Method Descriptions
    • WebRTCDataChannel
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • WebRTCDataChannelGDNative
    • WebRTCMultiplayer
      • Description
      • Properties
      • Methods
      • Method Descriptions
    • WebRTCPeerConnection
      • Description
      • Methods
      • Signals
      • Enumerations
      • Method Descriptions
    • WebRTCPeerConnectionGDNative
    • WebSocketClient
      • Description
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • WebSocketMultiplayerPeer
      • Description
      • Properties
      • Methods
      • Signals
      • Method Descriptions
    • WebSocketPeer
      • Description
      • Methods
      • Enumerations
      • Method Descriptions
    • WebSocketServer
      • Description
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • WebXRInterface
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • WindowDialog
      • Description
      • Properties
      • Methods
      • Theme Properties
      • Property Descriptions
      • Method Descriptions
    • World
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • World2D
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • WorldEnvironment
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • X509Certificate
      • Description
      • Methods
      • Method Descriptions
    • XMLParser
      • Description
      • Methods
      • Enumerations
      • Method Descriptions
    • YSort
      • Description
      • Properties
      • Property Descriptions
Godot Engine
  • »
  • Godot API »
  • Navigation

Navigation¶

Inherits: Spatial < Node < Object

Mesh-based navigation and pathfinding node.

Description¶

Provides navigation and pathfinding within a collection of NavigationMeshes. By default, these will be automatically collected from child NavigationMeshInstance nodes, but they can also be added on the fly with navmesh_add. In addition to basic pathfinding, this class also assists with aligning navigation agents with the meshes they are navigating on.

Note: The current navigation system has many known issues and will not always return optimal paths as expected. These issues will be fixed in Godot 4.0.

Tutorials¶

  • 3D Navmesh Demo

Properties¶

Vector3

up_vector

Vector3( 0, 1, 0 )

Methods¶

Vector3

get_closest_point ( Vector3 to_point )

Vector3

get_closest_point_normal ( Vector3 to_point )

Object

get_closest_point_owner ( Vector3 to_point )

Vector3

get_closest_point_to_segment ( Vector3 start, Vector3 end, bool use_collision=false )

PoolVector3Array

get_simple_path ( Vector3 start, Vector3 end, bool optimize=true )

int

navmesh_add ( NavigationMesh mesh, Transform xform, Object owner=null )

void

navmesh_remove ( int id )

void

navmesh_set_transform ( int id, Transform xform )

Property Descriptions¶

  • Vector3 up_vector

Default

Vector3( 0, 1, 0 )

Setter

set_up_vector(value)

Getter

get_up_vector()

Defines which direction is up. By default, this is (0, 1, 0), which is the world's "up" direction.

Method Descriptions¶

  • Vector3 get_closest_point ( Vector3 to_point )

Returns the navigation point closest to the point given. Points are in local coordinate space.


  • Vector3 get_closest_point_normal ( Vector3 to_point )

Returns the surface normal at the navigation point closest to the point given. Useful for rotating a navigation agent according to the navigation mesh it moves on.


  • Object get_closest_point_owner ( Vector3 to_point )

Returns the owner of the NavigationMesh which contains the navigation point closest to the point given. This is usually a NavigationMeshInstance. For meshes added via navmesh_add, returns the owner that was given (or null if the owner parameter was omitted).


  • Vector3 get_closest_point_to_segment ( Vector3 start, Vector3 end, bool use_collision=false )

Returns the navigation point closest to the given line segment. When enabling use_collision, only considers intersection points between segment and navigation meshes. If multiple intersection points are found, the one closest to the segment start point is returned.


  • PoolVector3Array get_simple_path ( Vector3 start, Vector3 end, bool optimize=true )

Returns the path between two given points. Points are in local coordinate space. If optimize is true (the default), the agent properties associated with each NavigationMesh (radius, height, etc.) are considered in the path calculation, otherwise they are ignored.

Note: This method has known issues and will often return non-optimal paths. These issues will be fixed in Godot 4.0.


  • int navmesh_add ( NavigationMesh mesh, Transform xform, Object owner=null )

Adds a NavigationMesh. Returns an ID for use with navmesh_remove or navmesh_set_transform. If given, a Transform2D is applied to the polygon. The optional owner is used as return value for get_closest_point_owner.


  • void navmesh_remove ( int id )

Removes the NavigationMesh with the given ID.


  • void navmesh_set_transform ( int id, Transform xform )

Sets the transform applied to the NavigationMesh with the given ID.

Next Previous

© Copyright 2014-2021, Juan Linietsky, Ariel Manzur and the Godot community (CC-BY 3.0). Revision ff0fffed.

Built with Sphinx using a theme provided by Read the Docs.
Read the Docs v: 3.3
Versions
latest
stable
3.6
3.5
3.4
3.3
3.2
3.1
3.0
2.1
Downloads
On Read the Docs
Project Home
Builds