Logo
3.5

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?
      • How do I install the Godot editor on my system (for desktop integration)?
        • Windows
        • macOS
        • Linux
      • Is the Godot editor a portable application?
      • Why does Godot 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?
    • 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

Getting started

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

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
      • NavigationMeshes
      • 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
    • 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?
    • Occluder Nodes
      • OccluderShapeSphere
      • OccluderShapePolygon
        • Editing and details
        • Holes
        • Using polygons dynamically
    • Rooms and Portals
      • Introduction to Rooms and Portals
        • Minimizing manual labour
        • Some caveats
      • First steps with Rooms and Portals
        • The RoomManager
        • Rooms
        • Portals
        • Trying it out
      • Using objects in Rooms and Portals
        • Portal mode
        • Sprawling
        • Lighting
      • Advanced Room and Portal usage
        • Gameplay callbacks
        • VisbilityNotifiers / VisibilityEnablers
        • RoomGroups
        • Internal Rooms
      • Editing Rooms and Portals
        • Example SceneTree
        • Creating room systems in Blender (or other modeling tools)
        • Portal point editing
        • Room point editing
        • RoomManager
        • Portals
        • Particle Systems
        • Multimeshes
      • Rooms and Portals example
        • Introduction
        • Step 1
        • Step 2
        • Step 3
        • Step 4
        • Step 5
        • Step 6
        • Conclusion
    • 3D text
      • Introduction
      • Label3D
      • Text mesh
  • Animation
    • Introduction to the animation features
      • 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
      • Using RESET 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
    • Playing videos
      • Supported playback formats
      • Setting up VideoPlayer
        • Handling resizing and different aspect ratios
        • Displaying a video on a 3D surface
      • Video decoding conditions and recommended resolutions
      • Playback limitations
      • Recommended Theora encoding settings
        • Balancing quality and file size
        • FFmpeg: Convert while preserving original video resolution
        • FFmpeg: Resize the video then convert it
  • Assets pipeline
    • 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
        • Detect 3D
      • Compression
        • Compress Mode
        • HDR Mode
        • Normal Map
      • Flags
        • Repeat
        • Filter
        • Mipmaps
        • Anisotropic
        • sRGB
      • Process
        • Fix Alpha Border
        • Premultiplied Alpha
        • HDR as sRGB
        • Invert Color
      • Svg
        • Scale
    • Importing audio samples
      • Supported files
      • Best practices
        • Trimming
        • Looping
    • Importing translations
      • Games and internationalization
      • Translation format
      • CSV importer
    • Importing 3D scenes
      • Godot scene importer
        • Exporting DAE files from Maya and 3DS Max
        • Exporting glTF 2.0 files from Blender
        • Exporting DAE files from Blender
        • Exporting ESCN files from Blender
        • Exporting textures separately
        • Exporting considerations
      • Import workflows
      • Import options
        • Nodes
        • Materials
        • Meshes
        • External Files
      • Animation options
        • FPS
        • Filter Script
        • Storage
        • Optimizer
        • Clips
      • Scene inheritance
      • Import hints
        • Remove nodes (-noimp)
        • Create collisions (-col, -convcol, -colonly, -convcolonly)
        • Create navigation (-navmesh)
        • Create a VehicleBody (-vehicle)
        • Create a VehicleWheel (-wheel)
        • Rigid Body (-rigid)
        • Animation loop (-loop, -cycle)
    • Exporting 3D scenes
      • Overview
      • Limitations
    • Blender ESCN exporter
      • Details on exporting
        • Materials
        • Physics properties
        • Lights
        • Mesh
        • Skeleton
        • Animation
      • Disabling specific objects
      • Build pipeline integration
  • 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
  • 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
    • Project organization
      • Introduction
      • Organization
      • Style guide
      • Importing
        • Ignoring specific folders
      • Case sensitivity
    • Version Control Systems
      • Introduction
      • Official Git plugin
      • Files to exclude from VCS
      • Working with Git on Windows
  • Editor manual
    • 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
      • Official editor plugins
    • 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
    • Using the Web editor
      • Browser support
      • Limitations
      • Importing a project
      • Editing and running a project
      • Where are my project files?
    • Managing editor features
      • Introduction
      • Creating a profile
      • Sharing a profile
  • Export
    • Exporting
      • Overview
      • Preparing the project
      • Setting a main scene
      • Export templates
      • Export presets
      • Exporting by platform
        • PC (Linux/macOS/Windows)
        • Android
        • iOS
        • HTML5 (web)
    • Exporting projects
      • Why export?
        • On PC
        • On mobile
      • Export menu
        • Export templates
        • Resource options
      • 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 Linux
    • Exporting for macOS
      • Requirements
      • Code signing and notarization
        • If you have an Apple Developer ID Certificate
        • If you do not have an Apple Developer ID Certificate
        • Signing Options
        • Notarization Options
      • Entitlements
        • Hardened Runtime Entitlements
        • App Sandbox Entitlement
    • Running Godot apps on macOS
      • App is signed, notarized and distributed via App Store
      • App is signed, notarized and distributed outside App Store
      • App is signed (including ad-hoc signatures) but not notarized
      • App is not-signed, executable is linker-signed
      • Neither app nor executable is signed (relevant for Apple Silicon macs only)
    • Exporting for Windows
      • Requirements
    • 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
        • Steps to link a Godot project folder to Xcode
      • Plugins for iOS
      • Troubleshooting rendering issues
    • Exporting for Android
      • Install OpenJDK 11
      • Download the Android SDK
      • Create a debug.keystore
      • Setting it up in Godot
      • Providing launcher icons
      • Exporting for Google Play Store
      • Optimizing the APK size
      • Troubleshooting rendering issues
    • 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
        • Using cookies for data persistence
        • Background processing
        • Threads
        • GDNative
        • Full screen and mouse capture
        • Audio
        • Networking
        • Clipboard
        • Gamepads
        • Boot splash is not displayed
        • Shader language 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
      • Troubleshooting
        • Android
  • Internationalization
    • Internationalizing games
      • Introduction
      • Configuring the imported translation
      • Localizing resources
      • Converting keys to text
      • Making controls resizable
      • TranslationServer
      • Testing translations
      • 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
      • Using binary MO files (useful for large projects only)
    • Locales
  • 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
    • Handling quit requests
      • Quitting
      • Handling the notification
      • Sending your own quit notification
    • 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.
  • Input and Output (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:
    • File paths in Godot projects
      • Path separators
      • Accessing files in the project folder (res://)
      • Accessing persistent user data (user://)
      • Converting paths to absolute paths or "local" paths
      • Editor data paths
        • Self-contained mode
    • Saving games
      • Introduction
      • Identify persistent objects
      • Serializing
      • Saving and reading data
      • Some notes
    • 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
  • 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
  • Navigation
    • Real Time Navigation (3D)
      • Introduction
      • The map and navigation regions
      • NavigationAgent3D
      • RVO processing
      • NavigationObstacle3D
      • Generating a path (old method)
  • 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
  • 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
        • Portal Rendering
        • Other occlusion techniques
        • Transparent objects
      • Level of detail (LOD)
        • Billboards and imposters
        • Use instancing (MultiMesh)
      • Bake lighting
      • Animation and skinning
      • Large worlds
      • Animating thousands of objects
        • Animating thousands of fish with MultiMeshInstance
        • Controlling thousands of fish with Particles
    • Multi-threading
      • Thread-safe APIs
        • Threads
        • Global scope
        • Scene tree
        • Rendering
        • GDScript arrays, dictionaries
        • Resources
      • Using multiple threads
        • Threads
        • Creating a Thread
        • Mutexes
        • Semaphores
  • 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
    • Physics Interpolation
      • Quick start guide
      • Introduction
        • Physics ticks and rendered frames
        • Lock the tick / frame rate together?
        • Adapt the tick rate?
        • Lock the tick rate, but use interpolation to smooth frames in between physics ticks
        • Linear interpolation
        • The physics interpolation fraction
        • Calculating the interpolated position
        • Smoothed transformations between physics ticks?
        • In the past
        • Why look into the past? Why not predict the future?
        • Fixed timestep interpolation
      • Using physics interpolation
        • Turn on the physics interpolation setting
        • Move (almost) all game logic from _process to _physics_process
        • Ensure that all indirect movement happens during physics ticks
        • Choose a physics tick rate
        • Call reset_physics_interpolation() when teleporting objects
      • Advanced physics interpolation
        • Exceptions to automatic physics interpolation
        • Cameras
        • Manual Camera interpolation
        • Typical example
        • get_global_transform_interpolated()
        • Example manual Camera script
        • Mouse look
        • Disabling interpolation on other nodes
        • MultiMeshes
  • Platform-specific
    • Android plugins
      • Creating Android plugins
        • Introduction
        • Android plugin
        • Troubleshooting
      • Android in-app purchases
        • Migrating from Godot 3.2.1 and lower (GodotPaymentsV3)
        • Usage
    • 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
    • Mobile rendering limitations
  • 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
        • Registering autoloads/singletons in plugins
      • 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
    • Running code in the editor
      • What is tool?
      • How to use it
      • Try it out
      • Editing variables
      • Instancing scenes
  • Rendering
    • 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
    • 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
    • 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
  • Scripting
    • Programming languages
      • GDScript
        • GDScript basics
        • GDScript: An introduction to dynamic languages
        • GDScript exports
        • GDScript style guide
        • Static typing in GDScript
        • GDScript warning system
        • GDScript format strings
      • VisualScript
        • What is Visual Scripting
        • Getting started with Visual Scripting
        • Nodes and terminology
        • Custom VisualScript nodes
      • C#
        • C# basics
        • C# features
        • C# API differences to GDScript
        • C# style guide
      • GDNative
        • What is GDNative?
        • GDNative C example
        • GDNative C++ example
    • Core features
      • Debug
        • Overview of debugging tools
        • Debugger panel
      • Idle and Physics Processing
      • Groups
        • Managing groups
      • Nodes and scene instances
        • Getting nodes
        • Node paths
        • Creating nodes
        • Instancing scenes
      • Overridable functions
      • Cross-language scripting
        • Instantiating nodes
        • Accessing fields
        • Calling methods
        • Inheritance
      • Creating script templates
        • Locating the templates
        • Language support and overriding behavior
        • Default template
        • List of template placeholders
      • Evaluating expressions
        • Basic usage
        • Passing variables to an expression
        • Setting a base instance for the expression
        • Example script
        • Built-in functions
      • Change scenes manually
      • Instancing with signals
        • Shooting example
      • Pausing games and process mode
        • Introduction
        • How pausing works
        • Process Modes
        • Pause Menu Example
      • File system
        • Introduction
        • Implementation
        • project.godot
        • Path delimiter
        • Resource path
        • User path
        • Host file system
        • Drawbacks
      • Resources
        • Nodes and resources
        • External vs built-in
        • Loading resources from code
        • Loading scenes
        • Freeing resources
        • Creating your own resources
      • Singletons (AutoLoad)
        • Introduction
        • AutoLoad
        • Custom scene switcher
      • Using SceneTree
        • Introduction
        • MainLoop
        • SceneTree
        • Root viewport
        • Scene tree
        • Tree order
        • "Becoming active" by entering the Scene Tree
        • Changing current scene
      • Scene Unique Nodes
        • Introduction
        • Creating and using them
  • Shaders
    • Introduction to shaders
      • Shaders in Godot
      • Shader types
      • Render modes
      • Processor functions
        • Vertex processor
        • Fragment processor
        • Light processor
    • Shading reference
      • 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
      • Your first 2D shader
        • Introduction
        • Setup
        • Your first CanvasItem shader
        • Your first fragment function
        • Your first vertex function
        • Conclusion
      • Your first 3D shader
        • Where to assign my material
        • Setting up
        • Shader magic
        • Noise heightmap
        • Uniforms
        • Interacting with light
      • Your second 3D shader
        • 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
    • Screen-reading shaders
      • Introduction
      • SCREEN_TEXTURE built-in texture
      • SCREEN_TEXTURE example
      • Behind the scenes
      • Back-buffer logic
      • DEPTH_TEXTURE
    • Converting GLSL to Godot shaders
      • 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
    • Shaders 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
    • 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
    • Making trees
      • Start with a tree
      • Paint with vertex colors
      • Write a custom shader for the leaves
      • Improving the shader
  • User Interface (UI)
    • Size and anchors
      • Centering a control
      • Layout Presets
    • Using Containers
      • Container layout
      • Size flags
      • Container types
        • Box Containers
        • Grid Container
        • Margin Container
        • Tab Container
        • Split Container
        • PanelContainer
        • ScrollContainer
        • ViewportContainer
      • Creating custom Containers
    • Custom GUI controls
      • So many controls...
      • Drawing
        • Checking control size
        • Checking focus
      • Sizing
      • Input
        • Input events
        • Notifications
    • Keyboard/Controller Navigation and Focus
      • Node settings
      • Necessary code
    • Control node gallery
    • GUI skinning and themes
      • Introduction to GUI skinning
        • Basics of themes
        • Customizing a control
        • Customizing a project
        • Beyond controls
      • Using the theme editor
        • Creating a theme
        • Theme editor overview
        • Manage and import items
      • Theme type variations
        • Creating a type variation
        • Using a type variation
    • Control node tutorials
      • BBCode in RichTextLabel
        • Introduction
        • Using BBCode
        • Reference
        • Animation effects
        • Custom BBCode tags and text effects
  • XR (AR/VR)
    • AR/VR primer
      • AR/VR server
      • New AR/VR nodes
      • Official plugins and resources
      • Other things to consider
    • OpenXR plugin
      • Introduction
      • Getting started
      • Next steps
      • Plugin features
        • Enabling the OpenXR plugin
        • Switching runtimes
        • Passthrough
        • Deploying on Quest
        • Hand tracking
    • Oculus mobile plugin (deprecated)
      • Developing for Oculus Quest
        • Introduction
        • Setting Up Godot
        • Setting Up Your Quest
    • OpenVR plugin
      • VR starter tutorial
        • VR starter tutorial part 1
        • VR starter tutorial part 2

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 SCons
      • Installing Visual Studio caveats
      • Downloading Godot's source
      • Compiling
        • Selecting a compiler
        • Running SCons
      • Development in Visual Studio
      • 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
      • Using Pyston 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 objects
      • Disabling unwanted modules
    • Compiling with script encryption key
      • Step by step
      • Troubleshooting
  • 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
        • Notifications
        • 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
      • Debugging on macOS
        • Debugging Godot editor
        • Debugging exported project
      • 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
    • Getting started
      • Ways to contribute
        • Contributing code
        • Testing and reporting issues
        • Contributing to the documentation
        • Contributing translations
    • Contributing to the engine
      • Best practices for engine contributors
        • Introduction
        • Language
        • Best Practices
      • 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
        • Compiling a pull request branch from source
      • Bisecting regressions
        • What is bisecting?
        • Using official builds to speed up bisecting
        • The Git bisect command
      • Bug triage guidelines
        • Issues management
      • Code style guidelines
        • C++ and Objective-C
        • Java
        • Python
        • Comment style guide
      • C++ usage guidelines
        • Rationale
        • Disallowed features
    • Writing documentation
      • Guidelines
        • Content guidelines
        • Docs writing guidelines
        • Documentation guidelines
      • Writing the manual
        • Contributing to the documentation
        • Building the manual with Sphinx
      • Class reference guides
        • Contributing to the class reference
        • Class reference writing guidelines
      • Translating the documentation
        • Editor and docs localization
  • 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
  • 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
    • AESContext
      • Description
      • Methods
      • Enumerations
      • 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
      • Enumerations
      • Property 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
      • Tutorials
      • 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
      • Tutorials
      • 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
      • Description
      • Tutorials
      • 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
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • AudioStreamGeneratorPlayback
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • AudioStreamMicrophone
      • Description
      • Tutorials
    • 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
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • BoxShape
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • Button
      • Description
      • Tutorials
      • Properties
      • Theme Properties
      • Enumerations
      • Property Descriptions
      • Theme Property Descriptions
    • ButtonGroup
      • Description
      • Properties
      • Methods
      • Signals
      • Method Descriptions
    • CallbackTweener
      • Description
      • 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
      • Signals
      • 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
      • Tutorials
      • Properties
      • Property Descriptions
    • CharFXTransform
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • CheckBox
      • Description
      • Properties
      • Theme Properties
      • Theme Property Descriptions
    • CheckButton
      • Description
      • Properties
      • Theme Properties
      • Theme Property Descriptions
    • 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
      • Theme Property Descriptions
    • ColorPickerButton
      • Description
      • Tutorials
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Property Descriptions
      • Method Descriptions
      • Theme Property 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
      • Tutorials
      • 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
      • Tutorials
      • Properties
      • Property Descriptions
    • CSGCombiner
      • Description
      • Tutorials
    • CSGCylinder
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • CSGMesh
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • CSGPolygon
      • Description
      • Tutorials
      • Properties
      • Enumerations
      • Property Descriptions
    • CSGPrimitive
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • CSGShape
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • CSGSphere
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • CSGTorus
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • CSharpScript
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • CubeMap
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • CubeMesh
      • Description
      • Properties
      • Property Descriptions
    • CullInstance
      • Description
      • Properties
      • Enumerations
      • 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
      • Tutorials
      • Methods
      • Method Descriptions
    • EditorInterface
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • EditorPlugin
      • Description
      • Tutorials
      • Methods
      • Signals
      • Enumerations
      • Method Descriptions
    • EditorProperty
      • Description
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • EditorResourceConversionPlugin
      • Methods
      • Method Descriptions
    • EditorResourcePicker
      • Description
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • EditorResourcePreview
      • Description
      • Methods
      • Signals
      • Method Descriptions
    • EditorResourcePreviewGenerator
      • Description
      • Methods
      • Method Descriptions
    • EditorSceneImporter
      • Description
      • Methods
      • Constants
      • Method Descriptions
    • EditorSceneImporterFBX
      • Description
    • EditorSceneImporterGLTF
      • Description
    • EditorScenePostImport
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • EditorScript
      • Description
      • Methods
      • Method Descriptions
    • EditorScriptPicker
      • Description
      • Properties
      • Property 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
      • Description
      • Properties
      • Property Descriptions
    • EditorVCSInterface
      • Description
      • Methods
      • Enumerations
      • 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
      • Theme Property Descriptions
    • FileSystemDock
      • Methods
      • Signals
      • Method Descriptions
    • float
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • FlowContainer
      • Description
      • Methods
      • Method Descriptions
    • Font
      • Description
      • Methods
      • Enumerations
      • 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
    • GLTFAccessor
      • Description
      • Properties
      • Property Descriptions
    • GLTFAnimation
      • Description
      • Properties
      • Property Descriptions
    • GLTFBufferView
      • Description
      • Properties
      • Property Descriptions
    • GLTFCamera
      • Description
      • Properties
      • Property Descriptions
    • GLTFDocument
      • Description
    • GLTFLight
      • Description
      • Properties
      • Property Descriptions
    • GLTFMesh
      • Description
      • Properties
      • Property Descriptions
    • GLTFNode
      • Description
      • Properties
      • Property Descriptions
    • GLTFSkeleton
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • GLTFSkin
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • GLTFSpecGloss
      • Description
      • Properties
      • Property Descriptions
    • GLTFState
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • GLTFTexture
      • Description
      • Properties
      • Property Descriptions
    • GodotSharp
      • Description
      • Methods
      • Method Descriptions
    • Gradient
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • GradientTexture
      • Description
      • Properties
      • Property Descriptions
    • GradientTexture2D
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • GraphEdit
      • Description
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Property Descriptions
      • Method Descriptions
      • Theme Property Descriptions
    • GraphNode
      • Description
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
      • Theme Property Descriptions
    • GridContainer
      • Description
      • Tutorials
      • Properties
      • Theme Properties
      • Property Descriptions
      • Theme 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
      • Tutorials
      • Theme Properties
      • Theme Property Descriptions
    • HeightMapShape
      • Description
      • Properties
      • Property Descriptions
    • HFlowContainer
      • Description
      • Theme Properties
      • Theme Property Descriptions
    • HingeJoint
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • HMACContext
      • Description
      • Methods
      • Method Descriptions
    • HScrollBar
      • Description
      • Theme Properties
      • Theme Property Descriptions
    • HSeparator
      • Description
      • Theme Properties
      • Theme Property Descriptions
    • HSlider
      • Description
      • Theme Properties
      • Theme Property Descriptions
    • HSplitContainer
      • Description
      • Tutorials
      • Theme Properties
      • Theme Property Descriptions
    • 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
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • 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
      • Description
      • Tutorials
      • 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
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • IntervalTweener
      • Description
    • IP
      • Description
      • Methods
      • Enumerations
      • Constants
      • Method Descriptions
    • ItemList
      • Description
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
      • Theme Property Descriptions
    • JavaClass
    • JavaClassWrapper
      • Methods
      • Method Descriptions
    • JavaScript
      • Description
      • Tutorials
      • Methods
      • Signals
      • Method Descriptions
    • JavaScriptObject
      • Description
    • JNISingleton
      • Description
      • Tutorials
    • Joint
      • Description
      • Tutorials
      • Properties
      • Property Descriptions
    • Joint2D
      • Description
      • Properties
      • Property Descriptions
    • JSON
      • Description
      • Methods
      • Method Descriptions
    • JSONParseResult
      • Description
      • Properties
      • Property Descriptions
    • JSONRPC
      • Description
      • Methods
      • Enumerations
      • Method Descriptions
    • KinematicBody
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • KinematicBody2D
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • KinematicCollision
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • KinematicCollision2D
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • Label
      • Description
      • Tutorials
      • Properties
      • Methods
      • Theme Properties
      • Enumerations
      • Property Descriptions
      • Method Descriptions
      • Theme Property Descriptions
    • Label3D
      • Description
      • Properties
      • Methods
      • 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
      • Theme Property Descriptions
    • LineShape2D
      • Description
      • Properties
      • Property Descriptions
    • LinkButton
      • Description
      • Properties
      • Theme Properties
      • Enumerations
      • Property Descriptions
      • Theme Property Descriptions
    • Listener
      • Description
      • Methods
      • Method Descriptions
    • Listener2D
      • Description
      • Methods
      • Method Descriptions
    • MainLoop
      • Description
      • Methods
      • Signals
      • Constants
      • Method Descriptions
    • MarginContainer
      • Description
      • Tutorials
      • Theme Properties
      • Theme Property Descriptions
    • Marshalls
      • Description
      • Methods
      • Method Descriptions
    • Material
      • Description
      • Tutorials
      • Properties
      • Constants
      • Property Descriptions
    • MenuButton
      • Description
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Property Descriptions
      • Method Descriptions
      • Theme Property 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
    • MethodTweener
      • Description
      • Methods
      • Method 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
      • Properties
    • Mutex
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • NativeScript
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • Navigation
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • Navigation2D
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • Navigation2DServer
      • Description
      • Tutorials
      • Methods
      • Signals
      • Method Descriptions
    • NavigationAgent
      • Description
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • NavigationAgent2D
      • Description
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • NavigationMesh
      • Description
      • Tutorials
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • NavigationMeshGenerator
      • Description
      • Methods
      • Method Descriptions
    • NavigationMeshInstance
      • Description
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • NavigationObstacle
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • NavigationObstacle2D
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • NavigationPolygon
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • NavigationPolygonInstance
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • NavigationServer
      • Description
      • Tutorials
      • Methods
      • Signals
      • Method Descriptions
    • NetworkedMultiplayerCustom
      • Description
      • Methods
      • Signals
      • Method 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
    • Occluder
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • OccluderPolygon2D
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • OccluderShape
      • Description
    • OccluderShapePolygon
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • OccluderShapeSphere
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method 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
      • Theme Property 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
    • PackedSceneGLTF
      • Description
      • Properties
      • Methods
      • 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
      • Theme Property Descriptions
    • PanelContainer
      • Description
      • Tutorials
      • Theme Properties
      • Theme Property Descriptions
    • 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
    • Physics2DTestMotionResult
      • Properties
      • Property Descriptions
    • PhysicsBody
      • Description
      • Tutorials
      • Methods
      • Method Descriptions
    • PhysicsBody2D
      • Description
      • Tutorials
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • PhysicsDirectBodyState
      • Description
      • Tutorials
      • 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
    • PhysicsTestMotionResult
      • Properties
      • Property 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
      • Theme Property Descriptions
    • PopupMenu
      • Description
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Property Descriptions
      • Method Descriptions
      • Theme Property Descriptions
    • PopupPanel
      • Description
      • Theme Properties
      • Theme Property Descriptions
    • Portal
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • 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
      • Theme Property Descriptions
    • ProjectSettings
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • PropertyTweener
      • Description
      • Methods
      • 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
      • Description
      • Tutorials
      • Enumerations
    • 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
      • Theme Property 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
    • Room
      • Description
      • Properties
      • Methods
      • Property Descriptions
      • Method Descriptions
    • RoomGroup
      • Description
      • Properties
      • Property Descriptions
    • RoomManager
      • Description
      • Properties
      • Methods
      • 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
    • SceneTreeTween
      • Description
      • Methods
      • Signals
      • Enumerations
      • Method 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
      • Tutorials
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Property Descriptions
      • Method Descriptions
      • Theme Property 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
      • Signals
      • 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
      • Theme Property Descriptions
    • SplitContainer
      • Description
      • Tutorials
      • 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
      • Description
      • 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
      • Tutorials
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
      • Theme Property Descriptions
    • Tabs
      • Description
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
      • Theme Property Descriptions
    • TCP_Server
      • Description
      • Methods
      • Method Descriptions
    • TextEdit
      • Description
      • Properties
      • Methods
      • Theme Properties
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
      • Theme Property Descriptions
    • TextFile
    • TextMesh
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • Texture
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • Texture3D
      • Description
      • Properties
      • Methods
      • Method Descriptions
    • TextureArray
      • Description
      • Methods
      • Method Descriptions
    • 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
      • Enumerations
      • 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
    • Time
      • Description
      • Methods
      • Enumerations
      • Method Descriptions
    • Timer
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • ToolButton
      • Description
      • Properties
      • Theme Properties
      • Theme Property Descriptions
    • 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
      • Theme Property Descriptions
    • TreeItem
      • Description
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • TriangleMesh
      • Description
    • Tween
      • Description
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • Tweener
      • Description
      • Signals
    • 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
      • Theme Property Descriptions
    • 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
    • VFlowContainer
      • Description
      • Theme Properties
      • Theme Property 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
      • Description
    • VisualScriptFunction
      • Description
    • VisualScriptFunctionCall
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualScriptFunctionState
      • Description
      • Methods
      • Method Descriptions
    • VisualScriptGlobalConstant
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptIndexGet
      • Description
    • VisualScriptIndexSet
      • Description
    • VisualScriptInputAction
      • Description
      • 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
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualScriptPropertySet
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualScriptResourcePath
      • Properties
      • Property Descriptions
    • VisualScriptReturn
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptSceneNode
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptSceneTree
      • Description
    • VisualScriptSelect
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptSelf
      • Description
    • VisualScriptSequence
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptSubCall
      • Description
      • Methods
      • Method Descriptions
    • VisualScriptSwitch
      • Description
    • VisualScriptTypeCast
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptVariableGet
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptVariableSet
      • Description
      • Properties
      • Property Descriptions
    • VisualScriptWhile
      • Description
    • VisualScriptYield
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualScriptYieldSignal
      • Description
      • 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
      • Description
      • Tutorials
      • Properties
      • Methods
      • Signals
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • VisualShaderNodeBooleanConstant
      • Description
      • Properties
      • Property Descriptions
    • VisualShaderNodeBooleanUniform
      • Description
      • Properties
      • Property Descriptions
    • VisualShaderNodeColorConstant
      • Description
      • Properties
      • Property Descriptions
    • VisualShaderNodeColorFunc
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualShaderNodeColorOp
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualShaderNodeColorUniform
      • Description
      • Properties
      • Property Descriptions
    • 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
      • Properties
      • Enumerations
      • Property Descriptions
    • 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
      • Properties
      • Property Descriptions
    • VisualShaderNodeTransformVecMult
      • Description
      • Properties
      • Enumerations
      • Property Descriptions
    • VisualShaderNodeUniform
      • Description
      • Properties
      • Property Descriptions
    • VisualShaderNodeUniformRef
      • Description
      • Properties
      • Property Descriptions
    • VisualShaderNodeVec3Constant
      • Description
      • Properties
      • Property Descriptions
    • VisualShaderNodeVec3Uniform
      • Description
      • Properties
      • Property Descriptions
    • 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
      • Theme Property Descriptions
    • VSeparator
      • Description
      • Theme Properties
      • Theme Property Descriptions
    • VSlider
      • Description
      • Properties
      • Theme Properties
      • Theme Property Descriptions
    • VSplitContainer
      • Description
      • Tutorials
      • Theme Properties
      • Theme Property Descriptions
    • WeakRef
      • Description
      • Methods
      • Method Descriptions
    • WebRTCDataChannel
      • Properties
      • Methods
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • WebRTCDataChannelGDNative
    • WebRTCMultiplayer
      • Description
      • Methods
      • Method Descriptions
    • WebRTCPeerConnection
      • Description
      • Methods
      • Signals
      • Enumerations
      • Method Descriptions
    • WebRTCPeerConnectionGDNative
    • WebSocketClient
      • Description
      • Properties
      • Methods
      • Signals
      • Property Descriptions
      • Method Descriptions
    • WebSocketMultiplayerPeer
      • Description
      • 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
      • Enumerations
      • Property Descriptions
      • Method Descriptions
    • WindowDialog
      • Description
      • Properties
      • Methods
      • Theme Properties
      • Property Descriptions
      • Method Descriptions
      • Theme Property 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 »
  • Navigation2DServer

Navigation2DServer¶

Inherits: Object

Server interface for low-level 2D navigation access.

Description¶

Navigation2DServer is the server responsible for all 2D navigation. It handles several objects, namely maps, regions and agents.

Maps are made up of regions, which are made of navigation polygons. Together, they define the navigable areas in the 2D world.

Note: Most NavigationServer changes take effect after the next physics frame and not immediately. This includes all changes made to maps, regions or agents by navigation related Nodes in the SceneTree or made through scripts.

For two regions to be connected to each other, they must share a similar edge. An edge is considered connected to another if both of its two vertices are at a distance less than navigation map edge_connection_margin to the respective other edge's vertex.

You may assign navigation layers to regions with region_set_navigation_layers, which then can be checked upon when requesting a path with map_get_path. This allows allowing or forbidding some areas to 2D objects.

To use the collision avoidance system, you may use agents. You can set an agent's target velocity, then the servers will emit a callback with a modified velocity.

Note: The collision avoidance system ignores regions. Using the modified velocity as-is might lead to pushing and agent outside of a navigable area. This is a limitation of the collision avoidance system, any more complex situation may require the use of the physics engine.

This server keeps tracks of any call and executes them during the sync phase. This means that you can request any change to the map, using any thread, without worrying.

Tutorials¶

  • 2D Navigation Demo

Methods¶

RID

agent_create ( ) const

RID

agent_get_map ( RID agent ) const

bool

agent_is_map_changed ( RID agent ) const

void

agent_set_callback ( RID agent, Object receiver, String method, Variant userdata=null ) const

void

agent_set_map ( RID agent, RID map ) const

void

agent_set_max_neighbors ( RID agent, int count ) const

void

agent_set_max_speed ( RID agent, float max_speed ) const

void

agent_set_neighbor_dist ( RID agent, float dist ) const

void

agent_set_position ( RID agent, Vector2 position ) const

void

agent_set_radius ( RID agent, float radius ) const

void

agent_set_target_velocity ( RID agent, Vector2 target_velocity ) const

void

agent_set_time_horizon ( RID agent, float time ) const

void

agent_set_velocity ( RID agent, Vector2 velocity ) const

void

free_rid ( RID rid ) const

Array

get_maps ( ) const

RID

map_create ( ) const

void

map_force_update ( RID map )

Array

map_get_agents ( RID map ) const

float

map_get_cell_height ( RID map ) const

float

map_get_cell_size ( RID map ) const

Vector2

map_get_closest_point ( RID map, Vector2 to_point ) const

RID

map_get_closest_point_owner ( RID map, Vector2 to_point ) const

float

map_get_edge_connection_margin ( RID map ) const

PoolVector2Array

map_get_path ( RID map, Vector2 origin, Vector2 destination, bool optimize, int navigation_layers=1 ) const

Array

map_get_regions ( RID map ) const

bool

map_is_active ( RID map ) const

void

map_set_active ( RID map, bool active ) const

void

map_set_cell_height ( RID map, float cell_height ) const

void

map_set_cell_size ( RID map, float cell_size ) const

void

map_set_edge_connection_margin ( RID map, float margin ) const

RID

region_create ( ) const

Vector2

region_get_connection_pathway_end ( RID region, int connection ) const

Vector2

region_get_connection_pathway_start ( RID region, int connection ) const

int

region_get_connections_count ( RID region ) const

float

region_get_enter_cost ( RID region ) const

RID

region_get_map ( RID region ) const

int

region_get_navigation_layers ( RID region ) const

float

region_get_travel_cost ( RID region ) const

bool

region_owns_point ( RID region, Vector2 point ) const

void

region_set_enter_cost ( RID region, float enter_cost ) const

void

region_set_map ( RID region, RID map ) const

void

region_set_navigation_layers ( RID region, int navigation_layers ) const

void

region_set_navpoly ( RID region, NavigationPolygon nav_poly ) const

void

region_set_transform ( RID region, Transform2D transform ) const

void

region_set_travel_cost ( RID region, float travel_cost ) const

Signals¶

  • map_changed ( RID map )

Emitted when a navigation map is updated, when a region moves or is modified.

Method Descriptions¶

  • RID agent_create ( ) const

Creates the agent.


  • RID agent_get_map ( RID agent ) const

Returns the navigation map RID the requested agent is currently assigned to.


  • bool agent_is_map_changed ( RID agent ) const

Returns true if the map got changed the previous frame.


  • void agent_set_callback ( RID agent, Object receiver, String method, Variant userdata=null ) const

Callback called at the end of the RVO process. If a callback is created manually and the agent is placed on a navigation map it will calculate avoidance for the agent and dispatch the calculated safe_velocity to the receiver object with a signal to the chosen method name.

Note: Created callbacks are always processed independently of the SceneTree state as long as the agent is on a navigation map and not freed. To disable the dispatch of a callback from an agent use agent_set_callback again with a null object as the receiver.


  • void agent_set_map ( RID agent, RID map ) const

Puts the agent in the map.


  • void agent_set_max_neighbors ( RID agent, int count ) const

Sets the maximum number of other agents the agent takes into account in the navigation. The larger this number, the longer the running time of the simulation. If the number is too low, the simulation will not be safe.


  • void agent_set_max_speed ( RID agent, float max_speed ) const

Sets the maximum speed of the agent. Must be positive.


  • void agent_set_neighbor_dist ( RID agent, float dist ) const

Sets the maximum distance to other agents this agent takes into account in the navigation. The larger this number, the longer the running time of the simulation. If the number is too low, the simulation will not be safe.


  • void agent_set_position ( RID agent, Vector2 position ) const

Sets the position of the agent in world space.


  • void agent_set_radius ( RID agent, float radius ) const

Sets the radius of the agent.


  • void agent_set_target_velocity ( RID agent, Vector2 target_velocity ) const

Sets the new target velocity.


  • void agent_set_time_horizon ( RID agent, float time ) const

The minimal amount of time for which the agent's velocities that are computed by the simulation are safe with respect to other agents. The larger this number, the sooner this agent will respond to the presence of other agents, but the less freedom this agent has in choosing its velocities. Must be positive.


  • void agent_set_velocity ( RID agent, Vector2 velocity ) const

Sets the current velocity of the agent.


  • void free_rid ( RID rid ) const

Destroys the given RID.


  • Array get_maps ( ) const

Returns all created navigation map RIDs on the NavigationServer. This returns both 2D and 3D created navigation maps as there is technically no distinction between them.


  • RID map_create ( ) const

Create a new map.


  • void map_force_update ( RID map )

This function immediately forces synchronization of the specified navigation map RID. By default navigation maps are only synchronized at the end of each physics frame. This function can be used to immediately (re)calculate all the navigation meshes and region connections of the navigation map. This makes it possible to query a navigation path for a changed map immediately and in the same frame (multiple times if needed).

Due to technical restrictions the current NavigationServer command queue will be flushed. This means all already queued update commands for this physics frame will be executed, even those intended for other maps, regions and agents not part of the specified map. The expensive computation of the navigation meshes and region connections of a map will only be done for the specified map. Other maps will receive the normal synchronization at the end of the physics frame. Should the specified map receive changes after the forced update it will update again as well when the other maps receive their update.

Avoidance processing and dispatch of the safe_velocity signals is untouched by this function and continues to happen for all maps and agents at the end of the physics frame.

Note: With great power comes great responsibility. This function should only be used by users that really know what they are doing and have a good reason for it. Forcing an immediate update of a navigation map requires locking the NavigationServer and flushing the entire NavigationServer command queue. Not only can this severely impact the performance of a game but it can also introduce bugs if used inappropriately without much foresight.


  • Array map_get_agents ( RID map ) const

Returns all navigation agents RIDs that are currently assigned to the requested navigation map.


  • float map_get_cell_height ( RID map ) const

Returns the map cell height. Note: Currently not implemented.


  • float map_get_cell_size ( RID map ) const

Returns the map cell size.


  • Vector2 map_get_closest_point ( RID map, Vector2 to_point ) const

Returns the point closest to the provided to_point on the navigation mesh surface.


  • RID map_get_closest_point_owner ( RID map, Vector2 to_point ) const

Returns the owner region RID for the point returned by map_get_closest_point.


  • float map_get_edge_connection_margin ( RID map ) const

Returns the edge connection margin of the map. The edge connection margin is a distance used to connect two regions.


  • PoolVector2Array map_get_path ( RID map, Vector2 origin, Vector2 destination, bool optimize, int navigation_layers=1 ) const

Returns the navigation path to reach the destination from the origin. navigation_layers is a bitmask of all region layers that are allowed to be in the path.


  • Array map_get_regions ( RID map ) const

Returns all navigation regions RIDs that are currently assigned to the requested navigation map.


  • bool map_is_active ( RID map ) const

Returns true if the map is active.


  • void map_set_active ( RID map, bool active ) const

Sets the map active.


  • void map_set_cell_height ( RID map, float cell_height ) const

Set the map cell height used to weld the navigation mesh polygons. Note: Currently not implemented.


  • void map_set_cell_size ( RID map, float cell_size ) const

Set the map cell size used to weld the navigation mesh polygons.


  • void map_set_edge_connection_margin ( RID map, float margin ) const

Set the map edge connection margin used to weld the compatible region edges.


  • RID region_create ( ) const

Creates a new region.


  • Vector2 region_get_connection_pathway_end ( RID region, int connection ) const

Returns the ending point of a connection door. connection is an index between 0 and the return value of region_get_connections_count.


  • Vector2 region_get_connection_pathway_start ( RID region, int connection ) const

Returns the starting point of a connection door. connection is an index between 0 and the return value of region_get_connections_count.


  • int region_get_connections_count ( RID region ) const

Returns how many connections this region has with other regions in the map.


  • float region_get_enter_cost ( RID region ) const

Returns the enter_cost of this region.


  • RID region_get_map ( RID region ) const

Returns the navigation map RID the requested region is currently assigned to.


  • int region_get_navigation_layers ( RID region ) const

Returns the region's navigation layers.


  • float region_get_travel_cost ( RID region ) const

Returns the travel_cost of this region.


  • bool region_owns_point ( RID region, Vector2 point ) const

Returns true if the provided point in world space is currently owned by the provided navigation region. Owned in this context means that one of the region's navigation mesh polygon faces has a possible position at the closest distance to this point compared to all other navigation meshes from other navigation regions that are also registered on the navigation map of the provided region.

If multiple navigation meshes have positions at equal distance the navigation region whose polygons are processed first wins the ownership. Polygons are processed in the same order that navigation regions were registered on the NavigationServer.

Note: If navigation meshes from different navigation regions overlap (which should be avoided in general) the result might not be what is expected.


  • void region_set_enter_cost ( RID region, float enter_cost ) const

Sets the enter_cost for this region.


  • void region_set_map ( RID region, RID map ) const

Sets the map for the region.


  • void region_set_navigation_layers ( RID region, int navigation_layers ) const

Set the region's navigation layers. This allows selecting regions from a path request (when using map_get_path).


  • void region_set_navpoly ( RID region, NavigationPolygon nav_poly ) const

Sets the navigation mesh for the region.


  • void region_set_transform ( RID region, Transform2D transform ) const

Sets the global transformation for the region.


  • void region_set_travel_cost ( RID region, float travel_cost ) const

Sets the travel_cost for this region.

Previous Next

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

Built with Sphinx using a theme provided by Read the Docs.
Read the Docs v: 3.5
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