gd

package module
v0.0.0-...-e10d1cd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 17, 2025 License: MIT Imports: 2 Imported by: 0

README

graphics.gd Go Reference

A cross platform 2D/3D graphics runtime for Go suitable for building native mobile apps, gdextensions, multimedia applications, games and more!

// This file is all you need to start a project.
// Save it somewhere, install the `gd` command and use `gd run` to get started.
package main

import (
	"graphics.gd/startup"

	"graphics.gd/classdb/Control"
	"graphics.gd/classdb/GUI"
	"graphics.gd/classdb/Label"
	"graphics.gd/classdb/SceneTree"
)

func main() {
	startup.LoadingScene() // setup the SceneTree and wait until we have access to engine functionality
	hello := Label.New()
	hello.AsControl().SetAnchorsPreset(Control.PresetFullRect) // expand the label to take up the whole screen.
	hello.SetHorizontalAlignment(GUI.HorizontalAlignmentCenter)
	hello.SetVerticalAlignment(GUI.VerticalAlignmentCenter)
	hello.SetText("Hello, World!")
	SceneTree.Add(hello)
	startup.Scene() // starts up the scene and blocks until the engine shuts down.
}

Why use graphics.gd?

  • Write shaders in Go!
  • Unlike C++/C#/GDScript/Rust/Swift, all RIDs, Callables and Dictionary arguments are strongly typed.
  • A good balance of performance and convenience.
  • General purpose pure-Go 'variant' math packages, reuse them in any Go project.
  • After the first build, recompile quickly, with an experience similar to a scripting language.
  • Easily cross-compile for windows/macos/android/linux/ios/web on any host platform.
  • Neither Java, nor an Android SDK/NDK is needed to build Android apps.
  • Neither Xcode nor MacOS is needed to build iOS apps.
  • Drop in gd command, a cross-platform build tool compatible with GDScript-based Godot projects.

This project is not just a wrapper! graphics.gd has been designed from the ground up to provide a cohesive and curated experience for using Go on top of Godot + GDExtension.

Join us in our active discussions forum with any questions, comments or feedback you may have. Show us what you're building!

You can also help support the project, motivate development and prioritise issues by sponsoring.

Getting Started

The module includes a drop-in replacement for the go command called gd that makes it easy to work with projects that run within the runtime. It enables you to start developing a new project from a single main.go file, to install it, make sure that your $GOPATH/bin is in your $PATH and run:

$ go install graphics.gd/cmd/gd@release

Now when you can run gd run, gd test on the main package in your project's directory, things will work as expected. The tool will create a "graphics" subdirectory where you can manage your assets via the Engine's Editor.

Running the command without any arguments will startup the editor.

If you don't want to use the gd command, you can build a shared library with the go command directly:

$ go build -o example.so -buildmode=c-shared

The gd command is also compatible with standard GDScript-based Godot projects and can be used to initialise export configurations and launch projects on Web, Android and iOS (on any platform). To use it this way, run it from the directory where project.godot is located.

Next Steps

Check out the the.graphics.gd/guide which covers much, much more!

TLDR

Each engine class is available as a package under classdb. To import the Node class you can import "graphics.gd/classdb/Node" There's no inheritance, so to access a 'super' class, you need to call Super() on an extension 'class'. All engine classes have methods to cast to any sub-classes they extend for example AsObject() or AsNode2D().

Methods have been renamed to follow Go conventions, so instead of underscores, methods are named as PascalCase. Keep this in mind when referring to Godot documentation.

https://docs.godotengine.org/en/latest/index.html

Optional arguments are omitted by default, convert an Instance into either the Expanded or Advanced type to use them. ie. for a Node.Instance called node, it can be converted:

Node.Expanded(node).AddChild(...)

Where Do I Find?

Ctrl+F in the project for a specific //gd:symbol to find the matching Go symbol.

* Engine Class           -> `//gd:ClassName`
* Engine Class Method    -> `//gd:ClassName.method_name`
* Utility Functions      -> `//gd:utility_function_name`
* Enum                   -> `//gd:ClassName.EnumName`

NOTE in order to avoid circular dependencies, a handful of functions have moved packages, for example Node.get_tree() (GDScript) has moved to SceneTree.Get() (Go).

Performance

It's feasible to write high performance code with graphics.gd, keep to variant types where possible and avoid allocating memory on the heap in frequently called functions. Advanced instances are available for each class which allow more fine-grained control over memory allocations.

Benchmarks show that Advanced method calls from Go -> Engine do not allocate.

Examples

There are a number of examples in the samples branch. All the samples are designed to be run with gd run without any additional setup.

Supported Platforms

  • Windows GOOS=windows gd build
  • Linux GOOS=linux gd build
  • MacOS GOOS=macos gd build
  • Android GOOS=android GOARCH=arm64 gd run
  • IOS GOOS=ios gd run (requires SideStore on the IOS device)
  • Web GOOS=web gd run

Platform Restrictions

  • 64bit only (arm64 && amd64).
  • No support for Playstation/Xbox/Switch (achievable in the future with WASI, wasm2c or hitsumabushi).

Contributing

The best way you can contribute to graphics.gd is to try it, this project needs you to find out what's working and what doesn't, so do please let us know of any trouble that you run into! Any examples you can contribute are more than welcome.

The next best thing you can do to help is improve the Variant packages, these are general-purpose packages inspired by the Godot engine's Variant types. Specifically any changes you can make to optimize functionality and/or improve test coverage of these packages is more than welcome.

If you enjoy hunting down memory-safety issues, we would appreciate this.

Thirdly, the project needs more tests to ensure that everything is working, the best way you can guarantee that graphics.gd won't break on you is to contribute tests that cover the functionality you need!

To run the go tests for graphics.gd, cd into the repo and run cd internal && gd test.

Note we are looking for somebody to create benchmarks for the project.

Lastly, spread the word and let people know about graphics.gd!

See Also

  • godot-go (Another project aiming to support Go + Godot integration)

Licensing

This project is licensed under an MIT license (the same license as Godot), you can use it in any manner you can use the Godot engine. If you use this project for any commercially successful products, please consider financially supporting the project to show your appreciation!

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
AESContext
This class holds the context information required for encryption and decryption operations with AES (Advanced Encryption Standard).
This class holds the context information required for encryption and decryption operations with AES (Advanced Encryption Standard).
AStar2D
An implementation of the A* algorithm, used to find the shortest path between two vertices on a connected graph in 2D space.
An implementation of the A* algorithm, used to find the shortest path between two vertices on a connected graph in 2D space.
AStar3D
A* (A star) is a computer algorithm used in pathfinding and graph traversal, the process of plotting short paths among vertices (points), passing through a given set of edges (segments).
A* (A star) is a computer algorithm used in pathfinding and graph traversal, the process of plotting short paths among vertices (points), passing through a given set of edges (segments).
AStarGrid2D
[AStarGrid2D] is a variant of [AStar2D] that is specialized for partial 2D grids.
[AStarGrid2D] is a variant of [AStar2D] that is specialized for partial 2D grids.
AcceptDialog
The default use of [AcceptDialog] is to allow it to only be accepted or closed, with the same result.
The default use of [AcceptDialog] is to allow it to only be accepted or closed, with the same result.
AimModifier3D
This is a simple version of [LookAtModifier3D] that only allows bone to the reference without advanced options such as angle limitation or time-based interpolation.
This is a simple version of [LookAtModifier3D] that only allows bone to the reference without advanced options such as angle limitation or time-based interpolation.
AnimatableBody2D
An animatable 2D physics body.
An animatable 2D physics body.
AnimatableBody3D
An animatable 3D physics body.
An animatable 3D physics body.
AnimatedSprite2D
[AnimatedSprite2D] is similar to the [Sprite2D] node, except it carries multiple textures as animation frames.
[AnimatedSprite2D] is similar to the [Sprite2D] node, except it carries multiple textures as animation frames.
AnimatedSprite3D
[AnimatedSprite3D] is similar to the [Sprite3D] node, except it carries multiple textures as animation [SpriteFrames].
[AnimatedSprite3D] is similar to the [Sprite3D] node, except it carries multiple textures as animation [SpriteFrames].
AnimatedTexture
[AnimatedTexture] is a resource format for frame-based animations, where multiple textures can be chained automatically with a predefined delay for each frame.
[AnimatedTexture] is a resource format for frame-based animations, where multiple textures can be chained automatically with a predefined delay for each frame.
Animation
This resource holds data that can be used to animate anything in the engine.
This resource holds data that can be used to animate anything in the engine.
AnimationLibrary
An animation library stores a set of animations accessible through string keys, for use with [AnimationPlayer] nodes.
An animation library stores a set of animations accessible through string keys, for use with [AnimationPlayer] nodes.
AnimationMixer
Base class for [AnimationPlayer] and [AnimationTree] to manage animation lists.
Base class for [AnimationPlayer] and [AnimationTree] to manage animation lists.
AnimationNode
Base resource for [AnimationTree] nodes.
Base resource for [AnimationTree] nodes.
AnimationNodeAdd2
A resource to add to an [AnimationNodeBlendTree].
A resource to add to an [AnimationNodeBlendTree].
AnimationNodeAdd3
A resource to add to an [AnimationNodeBlendTree].
A resource to add to an [AnimationNodeBlendTree].
AnimationNodeAnimation
A resource to add to an [AnimationNodeBlendTree].
A resource to add to an [AnimationNodeBlendTree].
AnimationNodeBlend2
A resource to add to an [AnimationNodeBlendTree].
A resource to add to an [AnimationNodeBlendTree].
AnimationNodeBlend3
A resource to add to an [AnimationNodeBlendTree].
A resource to add to an [AnimationNodeBlendTree].
AnimationNodeBlendSpace1D
A resource used by [AnimationNodeBlendTree].
A resource used by [AnimationNodeBlendTree].
AnimationNodeBlendSpace2D
A resource used by [AnimationNodeBlendTree].
A resource used by [AnimationNodeBlendTree].
AnimationNodeBlendTree
This animation node may contain a sub-tree of any other type animation nodes, such as [AnimationNodeTransition], [AnimationNodeBlend2], [AnimationNodeBlend3], [AnimationNodeOneShot], etc.
This animation node may contain a sub-tree of any other type animation nodes, such as [AnimationNodeTransition], [AnimationNodeBlend2], [AnimationNodeBlend3], [AnimationNodeOneShot], etc.
AnimationNodeExtension
[AnimationNodeExtension] exposes the APIs of [AnimationRootNode] to allow users to extend it from GDScript, C#, or C++.
[AnimationNodeExtension] exposes the APIs of [AnimationRootNode] to allow users to extend it from GDScript, C#, or C++.
AnimationNodeOneShot
A resource to add to an [AnimationNodeBlendTree].
A resource to add to an [AnimationNodeBlendTree].
AnimationNodeOutput
A node created automatically in an [AnimationNodeBlendTree] that outputs the final animation.
A node created automatically in an [AnimationNodeBlendTree] that outputs the final animation.
AnimationNodeStateMachine
Contains multiple [AnimationRootNode]s representing animation states, connected in a graph.
Contains multiple [AnimationRootNode]s representing animation states, connected in a graph.
AnimationNodeStateMachinePlayback
Allows control of [AnimationTree] state machines created with [AnimationNodeStateMachine].
Allows control of [AnimationTree] state machines created with [AnimationNodeStateMachine].
AnimationNodeStateMachineTransition
The path generated when using [AnimationNodeStateMachinePlayback.Travel] is limited to the nodes connected by [AnimationNodeStateMachineTransition].
The path generated when using [AnimationNodeStateMachinePlayback.Travel] is limited to the nodes connected by [AnimationNodeStateMachineTransition].
AnimationNodeSub2
A resource to add to an [AnimationNodeBlendTree].
A resource to add to an [AnimationNodeBlendTree].
AnimationNodeSync
An animation node used to combine, mix, or blend two or more animations together while keeping them synchronized within an [AnimationTree].
An animation node used to combine, mix, or blend two or more animations together while keeping them synchronized within an [AnimationTree].
AnimationNodeTimeScale
Allows to scale the speed of the animation (or reverse it) in any child [AnimationNode]s.
Allows to scale the speed of the animation (or reverse it) in any child [AnimationNode]s.
AnimationNodeTimeSeek
This animation node can be used to cause a seek command to happen to any sub-children of the animation graph.
This animation node can be used to cause a seek command to happen to any sub-children of the animation graph.
AnimationNodeTransition
Simple state machine for cases which don't require a more advanced [AnimationNodeStateMachine].
Simple state machine for cases which don't require a more advanced [AnimationNodeStateMachine].
AnimationPlayer
An animation player is used for general-purpose playback of animations.
An animation player is used for general-purpose playback of animations.
AnimationRootNode
[AnimationRootNode] is a base class for [AnimationNode]s that hold a complete animation.
[AnimationRootNode] is a base class for [AnimationNode]s that hold a complete animation.
AnimationTree
A node used for advanced animation transitions in an [AnimationPlayer].
A node used for advanced animation transitions in an [AnimationPlayer].
Area2D
[Area2D] is a region of 2D space defined by one or multiple [CollisionShape2D] or [CollisionPolygon2D] child nodes.
[Area2D] is a region of 2D space defined by one or multiple [CollisionShape2D] or [CollisionPolygon2D] child nodes.
Area3D
[Area3D] is a region of 3D space defined by one or multiple [CollisionShape3D] or [CollisionPolygon3D] child nodes.
[Area3D] is a region of 3D space defined by one or multiple [CollisionShape3D] or [CollisionPolygon3D] child nodes.
ArrayMesh
The [ArrayMesh] is used to construct a [Mesh] by specifying the attributes as arrays.
The [ArrayMesh] is used to construct a [Mesh] by specifying the attributes as arrays.
ArrayOccluder3D
[ArrayOccluder3D] stores an arbitrary 3D polygon shape that can be used by the engine's occlusion culling system.
[ArrayOccluder3D] stores an arbitrary 3D polygon shape that can be used by the engine's occlusion culling system.
AspectRatioContainer
A container type that arranges its child controls in a way that preserves their proportions automatically when the container is resized.
A container type that arranges its child controls in a way that preserves their proportions automatically when the container is resized.
AtlasTexture
[Texture2D] resource that draws only part of its [Atlas] texture, as defined by the [Region].
[Texture2D] resource that draws only part of its [Atlas] texture, as defined by the [Region].
AudioBusLayout
Stores position, muting, solo, bypass, effects, effect position, volume, and the connections between buses.
Stores position, muting, solo, bypass, effects, effect position, volume, and the connections between buses.
AudioEffect
The base [Resource] for every audio effect.
The base [Resource] for every audio effect.
AudioEffectAmplify
Increases or decreases the volume being routed through the audio bus.
Increases or decreases the volume being routed through the audio bus.
AudioEffectBandLimitFilter
Limits the frequencies in a range around the [AudioEffectFilter.CutoffHz] and allows frequencies outside of this range to pass.
Limits the frequencies in a range around the [AudioEffectFilter.CutoffHz] and allows frequencies outside of this range to pass.
AudioEffectBandPassFilter
Attenuates the frequencies inside of a range around the [AudioEffectFilter.CutoffHz] and cuts frequencies outside of this band.
Attenuates the frequencies inside of a range around the [AudioEffectFilter.CutoffHz] and cuts frequencies outside of this band.
AudioEffectCapture
AudioEffectCapture is an AudioEffect which copies all audio frames from the attached audio effect bus into its internal ring buffer.
AudioEffectCapture is an AudioEffect which copies all audio frames from the attached audio effect bus into its internal ring buffer.
AudioEffectChorus
Adds a chorus audio effect.
Adds a chorus audio effect.
AudioEffectCompressor
Dynamic range compressor reduces the level of the sound when the amplitude goes over a certain threshold in Decibels.
Dynamic range compressor reduces the level of the sound when the amplitude goes over a certain threshold in Decibels.
AudioEffectDelay
Plays input signal back after a period of time.
Plays input signal back after a period of time.
AudioEffectDistortion
Different types are available: clip, tan, lo-fi (bit crushing), overdrive, or waveshape.
Different types are available: clip, tan, lo-fi (bit crushing), overdrive, or waveshape.
AudioEffectEQ
AudioEffectEQ gives you control over frequencies.
AudioEffectEQ gives you control over frequencies.
AudioEffectEQ10
Frequency bands:
Frequency bands:
AudioEffectEQ21
Frequency bands:
Frequency bands:
AudioEffectEQ6
Frequency bands:
Frequency bands:
AudioEffectFilter
Allows frequencies other than the [CutoffHz] to pass.
Allows frequencies other than the [CutoffHz] to pass.
AudioEffectHardLimiter
A limiter is an effect designed to disallow sound from going over a given dB threshold.
A limiter is an effect designed to disallow sound from going over a given dB threshold.
AudioEffectHighPassFilter
Cuts frequencies lower than the [AudioEffectFilter.CutoffHz] and allows higher frequencies to pass.
Cuts frequencies lower than the [AudioEffectFilter.CutoffHz] and allows higher frequencies to pass.
AudioEffectHighShelfFilter
Reduces all frequencies above the [AudioEffectFilter.CutoffHz].
Reduces all frequencies above the [AudioEffectFilter.CutoffHz].
AudioEffectInstance
An audio effect instance manipulates the audio it receives for a given effect.
An audio effect instance manipulates the audio it receives for a given effect.
AudioEffectLimiter
A limiter is similar to a compressor, but it's less flexible and designed to disallow sound going over a given dB threshold.
A limiter is similar to a compressor, but it's less flexible and designed to disallow sound going over a given dB threshold.
AudioEffectLowPassFilter
Cuts frequencies higher than the [AudioEffectFilter.CutoffHz] and allows lower frequencies to pass.
Cuts frequencies higher than the [AudioEffectFilter.CutoffHz] and allows lower frequencies to pass.
AudioEffectLowShelfFilter
Reduces all frequencies below the [AudioEffectFilter.CutoffHz].
Reduces all frequencies below the [AudioEffectFilter.CutoffHz].
AudioEffectNotchFilter
Attenuates frequencies in a narrow band around the [AudioEffectFilter.CutoffHz] and cuts frequencies outside of this range.
Attenuates frequencies in a narrow band around the [AudioEffectFilter.CutoffHz] and cuts frequencies outside of this range.
AudioEffectPanner
Determines how much of an audio signal is sent to the left and right buses.
Determines how much of an audio signal is sent to the left and right buses.
AudioEffectPhaser
Combines phase-shifted signals with the original signal.
Combines phase-shifted signals with the original signal.
AudioEffectPitchShift
Allows modulation of pitch independently of tempo.
Allows modulation of pitch independently of tempo.
AudioEffectRecord
Allows the user to record the sound from an audio bus into an [AudioStreamWAV].
Allows the user to record the sound from an audio bus into an [AudioStreamWAV].
AudioEffectReverb
Simulates the sound of acoustic environments such as rooms, concert halls, caverns, or an open spaces.
Simulates the sound of acoustic environments such as rooms, concert halls, caverns, or an open spaces.
AudioEffectSpectrumAnalyzer
This audio effect does not affect sound output, but can be used for real-time audio visualizations.
This audio effect does not affect sound output, but can be used for real-time audio visualizations.
AudioEffectSpectrumAnalyzerInstance
The runtime part of an [AudioEffectSpectrumAnalyzer], which can be used to query the magnitude of a frequency range on its host bus.
The runtime part of an [AudioEffectSpectrumAnalyzer], which can be used to query the magnitude of a frequency range on its host bus.
AudioEffectStereoEnhance
An audio effect that can be used to adjust the intensity of stereo panning.
An audio effect that can be used to adjust the intensity of stereo panning.
AudioListener2D
Once added to the scene tree and enabled using [MakeCurrent], this node will override the location sounds are heard from.
Once added to the scene tree and enabled using [MakeCurrent], this node will override the location sounds are heard from.
AudioListener3D
Once added to the scene tree and enabled using [MakeCurrent], this node will override the location sounds are heard from.
Once added to the scene tree and enabled using [MakeCurrent], this node will override the location sounds are heard from.
AudioSample
Base class for audio samples.
Base class for audio samples.
AudioSamplePlayback
Meta class for playing back audio samples.
Meta class for playing back audio samples.
AudioServer
[AudioServer] is a low-level server interface for audio access.
[AudioServer] is a low-level server interface for audio access.
AudioStream
Base class for audio streams.
Base class for audio streams.
AudioStreamGenerator
[AudioStreamGenerator] is a type of audio stream that does not play back sounds on its own; instead, it expects a script to generate audio data for it.
[AudioStreamGenerator] is a type of audio stream that does not play back sounds on its own; instead, it expects a script to generate audio data for it.
AudioStreamGeneratorPlayback
This class is meant to be used with [AudioStreamGenerator] to play back the generated audio in real-time.
This class is meant to be used with [AudioStreamGenerator] to play back the generated audio in real-time.
AudioStreamInteractive
This is an audio stream that can playback music interactively, combining clips and a transition table.
This is an audio stream that can playback music interactively, combining clips and a transition table.
AudioStreamMP3
MP3 audio stream driver.
MP3 audio stream driver.
AudioStreamMicrophone
When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] plays back microphone input in real-time.
When used directly in an [AudioStreamPlayer] node, [AudioStreamMicrophone] plays back microphone input in real-time.
AudioStreamOggVorbis
The AudioStreamOggVorbis class is a specialized [AudioStream] for handling Ogg Vorbis file formats.
The AudioStreamOggVorbis class is a specialized [AudioStream] for handling Ogg Vorbis file formats.
AudioStreamPlayback
Can play, loop, pause a scroll through audio.
Can play, loop, pause a scroll through audio.
AudioStreamPlaybackInteractive
Playback component of [AudioStreamInteractive].
Playback component of [AudioStreamInteractive].
AudioStreamPlaybackPolyphonic
Playback instance for [AudioStreamPolyphonic].
Playback instance for [AudioStreamPolyphonic].
AudioStreamPlayer
The [AudioStreamPlayer] node plays an audio stream non-positionally.
The [AudioStreamPlayer] node plays an audio stream non-positionally.
AudioStreamPlayer2D
Plays audio that is attenuated with distance to the listener.
Plays audio that is attenuated with distance to the listener.
AudioStreamPlayer3D
Plays audio with positional sound effects, based on the relative position of the audio listener.
Plays audio with positional sound effects, based on the relative position of the audio listener.
AudioStreamPolyphonic
AudioStream that lets the user play custom streams at any time from code, simultaneously using a single player.
AudioStream that lets the user play custom streams at any time from code, simultaneously using a single player.
AudioStreamRandomizer
Picks a random AudioStream from the pool, depending on the playback mode, and applies random pitch shifting and volume shifting during playback.
Picks a random AudioStream from the pool, depending on the playback mode, and applies random pitch shifting and volume shifting during playback.
AudioStreamSynchronized
This is a stream that can be fitted with sub-streams, which will be played in-sync.
This is a stream that can be fitted with sub-streams, which will be played in-sync.
AudioStreamWAV
AudioStreamWAV stores sound samples loaded from WAV files.
AudioStreamWAV stores sound samples loaded from WAV files.
BackBufferCopy
Node for back-buffering the currently-displayed screen.
Node for back-buffering the currently-displayed screen.
BaseButton
[BaseButton] is an abstract base class for GUI buttons.
[BaseButton] is an abstract base class for GUI buttons.
BaseMaterial3D
This class serves as a default material with a wide variety of rendering features and properties without the need to write shader code.
This class serves as a default material with a wide variety of rendering features and properties without the need to write shader code.
BitMap
A two-dimensional array of boolean values, can be used to efficiently store a binary matrix (every matrix element takes only one bit) and query the values using natural cartesian coordinates.
A two-dimensional array of boolean values, can be used to efficiently store a binary matrix (every matrix element takes only one bit) and query the values using natural cartesian coordinates.
Bone2D
A hierarchy of [Bone2D]s can be bound to a [Skeleton2D] to control and animate other [Node2D] nodes.
A hierarchy of [Bone2D]s can be bound to a [Skeleton2D] to control and animate other [Node2D] nodes.
BoneAttachment3D
This node selects a bone in a [Skeleton3D] and attaches to it.
This node selects a bone in a [Skeleton3D] and attaches to it.
BoneConstraint3D
Base class of [SkeletonModifier3D] that modifies the bone set in [SetApplyBone] based on the transform of the bone retrieved by [GetReferenceBone].
Base class of [SkeletonModifier3D] that modifies the bone set in [SetApplyBone] based on the transform of the bone retrieved by [GetReferenceBone].
BoneMap
This class contains a dictionary that uses a list of bone names in [SkeletonProfile] as key names.
This class contains a dictionary that uses a list of bone names in [SkeletonProfile] as key names.
BoxContainer
A container that arranges its child controls horizontally or vertically, rearranging them automatically when their minimum size changes.
A container that arranges its child controls horizontally or vertically, rearranging them automatically when their minimum size changes.
BoxMesh
Generate an axis-aligned box [PrimitiveMesh].
Generate an axis-aligned box [PrimitiveMesh].
BoxOccluder3D
[BoxOccluder3D] stores a cuboid shape that can be used by the engine's occlusion culling system.
[BoxOccluder3D] stores a cuboid shape that can be used by the engine's occlusion culling system.
BoxShape3D
A 3D box shape, intended for use in physics.
A 3D box shape, intended for use in physics.
Button
[Button] is the standard themed button.
[Button] is the standard themed button.
ButtonGroup
A group of [BaseButton]-derived buttons.
A group of [BaseButton]-derived buttons.
CPUParticles2D
CPU-based 2D particle node used to create a variety of particle systems and effects.
CPU-based 2D particle node used to create a variety of particle systems and effects.
CPUParticles3D
CPU-based 3D particle node used to create a variety of particle systems and effects.
CPU-based 3D particle node used to create a variety of particle systems and effects.
CSGBox3D
This node allows you to create a box for use with the CSG system.
This node allows you to create a box for use with the CSG system.
CSGCombiner3D
For complex arrangements of shapes, it is sometimes needed to add structure to your CSG nodes.
For complex arrangements of shapes, it is sometimes needed to add structure to your CSG nodes.
CSGCylinder3D
This node allows you to create a cylinder (or cone) for use with the CSG system.
This node allows you to create a cylinder (or cone) for use with the CSG system.
CSGMesh3D
This CSG node allows you to use any mesh resource as a CSG shape, provided it is manifold.
This CSG node allows you to use any mesh resource as a CSG shape, provided it is manifold.
CSGPolygon3D
An array of 2D points is extruded to quickly and easily create a variety of 3D meshes.
An array of 2D points is extruded to quickly and easily create a variety of 3D meshes.
CSGPrimitive3D
Parent class for various CSG primitives.
Parent class for various CSG primitives.
CSGShape3D
This is the CSG base class that provides CSG operation support to the various CSG nodes in Godot.
This is the CSG base class that provides CSG operation support to the various CSG nodes in Godot.
CSGSphere3D
This node allows you to create a sphere for use with the CSG system.
This node allows you to create a sphere for use with the CSG system.
CSGTorus3D
This node allows you to create a torus for use with the CSG system.
This node allows you to create a torus for use with the CSG system.
CallbackTweener
[CallbackTweener] is used to call a method in a tweening sequence.
[CallbackTweener] is used to call a method in a tweening sequence.
Camera2D
Camera node for 2D scenes.
Camera node for 2D scenes.
Camera3D
[Camera3D] is a special node that displays what is visible from its current location.
[Camera3D] is a special node that displays what is visible from its current location.
CameraAttributes
Controls camera-specific attributes such as depth of field and exposure override.
Controls camera-specific attributes such as depth of field and exposure override.
CameraAttributesPhysical
[CameraAttributesPhysical] is used to set rendering settings based on a physically-based camera's settings.
[CameraAttributesPhysical] is used to set rendering settings based on a physically-based camera's settings.
CameraAttributesPractical
Controls camera-specific attributes such as auto-exposure, depth of field, and exposure override.
Controls camera-specific attributes such as auto-exposure, depth of field, and exposure override.
CameraFeed
A camera feed gives you access to a single physical camera attached to your device.
A camera feed gives you access to a single physical camera attached to your device.
CameraServer
The [CameraServer] keeps track of different cameras accessible in Godot.
The [CameraServer] keeps track of different cameras accessible in Godot.
CameraTexture
This texture gives access to the camera texture provided by a [CameraFeed].
This texture gives access to the camera texture provided by a [CameraFeed].
CanvasGroup
Child [CanvasItem] nodes of a [CanvasGroup] are drawn as a single object.
Child [CanvasItem] nodes of a [CanvasGroup] are drawn as a single object.
CanvasItem
Abstract base class for everything in 2D space.
Abstract base class for everything in 2D space.
CanvasItemMaterial
[CanvasItemMaterial]s provide a means of modifying the textures associated with a CanvasItem.
[CanvasItemMaterial]s provide a means of modifying the textures associated with a CanvasItem.
CanvasLayer
[CanvasItem]-derived nodes that are direct or indirect children of a [CanvasLayer] will be drawn in that layer.
[CanvasItem]-derived nodes that are direct or indirect children of a [CanvasLayer] will be drawn in that layer.
CanvasModulate
[CanvasModulate] applies a color tint to all nodes on a canvas.
[CanvasModulate] applies a color tint to all nodes on a canvas.
CanvasTexture
[CanvasTexture] is an alternative to [ImageTexture] for 2D rendering.
[CanvasTexture] is an alternative to [ImageTexture] for 2D rendering.
CapsuleMesh
Class representing a capsule-shaped [PrimitiveMesh].
Class representing a capsule-shaped [PrimitiveMesh].
CapsuleShape2D
A 2D capsule shape, intended for use in physics.
A 2D capsule shape, intended for use in physics.
CapsuleShape3D
A 3D capsule shape, intended for use in physics.
A 3D capsule shape, intended for use in physics.
CenterContainer
[CenterContainer] is a container that keeps all of its child controls in its center at their minimum size.
[CenterContainer] is a container that keeps all of its child controls in its center at their minimum size.
CharFXTransform
By setting various properties on this object, you can control how individual characters will be displayed in a [RichTextEffect].
By setting various properties on this object, you can control how individual characters will be displayed in a [RichTextEffect].
CharacterBody2D
[CharacterBody2D] is a specialized class for physics bodies that are meant to be user-controlled.
[CharacterBody2D] is a specialized class for physics bodies that are meant to be user-controlled.
CharacterBody3D
[CharacterBody3D] is a specialized class for physics bodies that are meant to be user-controlled.
[CharacterBody3D] is a specialized class for physics bodies that are meant to be user-controlled.
CheckBox
[CheckBox] allows the user to choose one of only two possible options.
[CheckBox] allows the user to choose one of only two possible options.
CheckButton
[CheckButton] is a toggle button displayed as a check field.
[CheckButton] is a toggle button displayed as a check field.
CircleShape2D
A 2D circle shape, intended for use in physics.
A 2D circle shape, intended for use in physics.
ClassDB
Provides access to metadata stored for every available engine class.
Provides access to metadata stored for every available engine class.
CodeEdit
CodeEdit is a specialized [TextEdit] designed for editing plain text code files.
CodeEdit is a specialized [TextEdit] designed for editing plain text code files.
CodeHighlighter
By adjusting various properties of this resource, you can change the colors of strings, comments, numbers, and other text patterns inside a [TextEdit] control.
By adjusting various properties of this resource, you can change the colors of strings, comments, numbers, and other text patterns inside a [TextEdit] control.
CollisionObject2D
Abstract base class for 2D physics objects.
Abstract base class for 2D physics objects.
CollisionObject3D
Abstract base class for 3D physics objects.
Abstract base class for 3D physics objects.
CollisionPolygon2D
A node that provides a polygon shape to a [CollisionObject2D] parent and allows to edit it.
A node that provides a polygon shape to a [CollisionObject2D] parent and allows to edit it.
CollisionPolygon3D
A node that provides a thickened polygon shape (a prism) to a [CollisionObject3D] parent and allows to edit it.
A node that provides a thickened polygon shape (a prism) to a [CollisionObject3D] parent and allows to edit it.
CollisionShape2D
A node that provides a [Shape2D] to a [CollisionObject2D] parent and allows to edit it.
A node that provides a [Shape2D] to a [CollisionObject2D] parent and allows to edit it.
CollisionShape3D
A node that provides a [Shape3D] to a [CollisionObject3D] parent and allows to edit it.
A node that provides a [Shape3D] to a [CollisionObject3D] parent and allows to edit it.
ColorPalette
The [ColorPalette] resource is designed to store and manage a collection of colors.
The [ColorPalette] resource is designed to store and manage a collection of colors.
ColorPicker
A widget that provides an interface for selecting or modifying a color.
A widget that provides an interface for selecting or modifying a color.
ColorPickerButton
Encapsulates a [ColorPicker], making it accessible by pressing a button.
Encapsulates a [ColorPicker], making it accessible by pressing a button.
ColorRect
Displays a rectangle filled with a solid [Color].
Displays a rectangle filled with a solid [Color].
Compositor
The compositor resource stores attributes used to customize how a [Viewport] is rendered.
The compositor resource stores attributes used to customize how a [Viewport] is rendered.
CompositorEffect
This resource defines a custom rendering effect that can be applied to [Viewport]s through the viewports' [Environment].
This resource defines a custom rendering effect that can be applied to [Viewport]s through the viewports' [Environment].
CompressedCubemap
A cubemap that is loaded from a .ccube file.
A cubemap that is loaded from a .ccube file.
CompressedCubemapArray
A cubemap array that is loaded from a .ccubearray file.
A cubemap array that is loaded from a .ccubearray file.
CompressedTexture2D
A texture that is loaded from a .ctex file.
A texture that is loaded from a .ctex file.
CompressedTexture2DArray
A texture array that is loaded from a .ctexarray file.
A texture array that is loaded from a .ctexarray file.
CompressedTexture3D
[CompressedTexture3D] is the VRAM-compressed counterpart of [ImageTexture3D].
[CompressedTexture3D] is the VRAM-compressed counterpart of [ImageTexture3D].
CompressedTextureLayered
Base class for [CompressedTexture2DArray] and [CompressedTexture3D].
Base class for [CompressedTexture2DArray] and [CompressedTexture3D].
ConcavePolygonShape2D
A 2D polyline shape, intended for use in physics.
A 2D polyline shape, intended for use in physics.
ConcavePolygonShape3D
A 3D trimesh shape, intended for use in physics.
A 3D trimesh shape, intended for use in physics.
ConeTwistJoint3D
A physics joint that connects two 3D physics bodies in a way that simulates a ball-and-socket joint.
A physics joint that connects two 3D physics bodies in a way that simulates a ball-and-socket joint.
ConfigFile
This helper class can be used to store any values on the filesystem using INI-style formatting.
This helper class can be used to store any values on the filesystem using INI-style formatting.
ConfirmationDialog
A dialog used for confirmation of actions.
A dialog used for confirmation of actions.
Container
Base class for all GUI containers.
Base class for all GUI containers.
Control
Base class for all UI-related nodes.
Base class for all UI-related nodes.
ConvertTransformModifier3D
Apply the copied transform of the bone set by [BoneConstraint3D.SetReferenceBone] to the bone set by [BoneConstraint3D.SetApplyBone] about the specific axis with remapping it with some options.
Apply the copied transform of the bone set by [BoneConstraint3D.SetReferenceBone] to the bone set by [BoneConstraint3D.SetApplyBone] about the specific axis with remapping it with some options.
ConvexPolygonShape2D
A 2D convex polygon shape, intended for use in physics.
A 2D convex polygon shape, intended for use in physics.
ConvexPolygonShape3D
A 3D convex polyhedron shape, intended for use in physics.
A 3D convex polyhedron shape, intended for use in physics.
CopyTransformModifier3D
Apply the copied transform of the bone set by [BoneConstraint3D.SetReferenceBone] to the bone set by [BoneConstraint3D.SetApplyBone] with processing it with some masks and options.
Apply the copied transform of the bone set by [BoneConstraint3D.SetReferenceBone] to the bone set by [BoneConstraint3D.SetApplyBone] with processing it with some masks and options.
Crypto
The Crypto class provides access to advanced cryptographic functionalities.
The Crypto class provides access to advanced cryptographic functionalities.
CryptoKey
The CryptoKey class represents a cryptographic key.
The CryptoKey class represents a cryptographic key.
Cubemap
A cubemap is made of 6 textures organized in layers.
A cubemap is made of 6 textures organized in layers.
CubemapArray
[CubemapArray]s are made of an array of [Cubemap]s.
[CubemapArray]s are made of an array of [Cubemap]s.
Curve
This resource describes a mathematical curve by defining a set of points and tangents at each point.
This resource describes a mathematical curve by defining a set of points and tangents at each point.
Curve2D
This class describes a Bézier curve in 2D space.
This class describes a Bézier curve in 2D space.
Curve3D
This class describes a Bézier curve in 3D space.
This class describes a Bézier curve in 3D space.
CurveTexture
A 1D texture where pixel brightness corresponds to points on a unit [Curve] resource, either in grayscale or in red.
A 1D texture where pixel brightness corresponds to points on a unit [Curve] resource, either in grayscale or in red.
CurveXYZTexture
A 1D texture where the red, green, and blue color channels correspond to points on 3 unit [Curve] resources.
A 1D texture where the red, green, and blue color channels correspond to points on 3 unit [Curve] resources.
CylinderMesh
Class representing a cylindrical [PrimitiveMesh].
Class representing a cylindrical [PrimitiveMesh].
CylinderShape3D
A 3D cylinder shape, intended for use in physics.
A 3D cylinder shape, intended for use in physics.
DPITexture
An automatically scalable [Texture2D] based on an SVG image.
An automatically scalable [Texture2D] based on an SVG image.
DTLSServer
This class is used to store the state of a DTLS server.
This class is used to store the state of a DTLS server.
DampedSpringJoint2D
A physics joint that connects two 2D physics bodies with a spring-like force.
A physics joint that connects two 2D physics bodies with a spring-like force.
Decal
[Decal]s are used to project a texture onto a [Mesh] in the scene.
[Decal]s are used to project a texture onto a [Mesh] in the scene.
DirAccess
This class is used to manage directories and their content, even outside of the project folder.
This class is used to manage directories and their content, even outside of the project folder.
DirectionalLight2D
A directional light is a type of [Light2D] node that models an infinite number of parallel rays covering the entire scene.
A directional light is a type of [Light2D] node that models an infinite number of parallel rays covering the entire scene.
DirectionalLight3D
A directional light is a type of [Light3D] node that models an infinite number of parallel rays covering the entire scene.
A directional light is a type of [Light3D] node that models an infinite number of parallel rays covering the entire scene.
DisplayServer
[DisplayServer] handles everything related to window management.
[DisplayServer] handles everything related to window management.
ENetConnection
ENet's purpose is to provide a relatively thin, simple and robust network communication layer on top of UDP (User Datagram Protocol).
ENet's purpose is to provide a relatively thin, simple and robust network communication layer on top of UDP (User Datagram Protocol).
ENetMultiplayerPeer
A MultiplayerPeer implementation that should be passed to [MultiplayerAPI.MultiplayerPeer] after being initialized as either a client, server, or mesh.
A MultiplayerPeer implementation that should be passed to [MultiplayerAPI.MultiplayerPeer] after being initialized as either a client, server, or mesh.
ENetPacketPeer
A PacketPeer implementation representing a peer of an [ENetConnection].
A PacketPeer implementation representing a peer of an [ENetConnection].
EditorCommandPalette
Object that holds all the available Commands and their shortcuts text.
Object that holds all the available Commands and their shortcuts text.
EditorContextMenuPlugin
[EditorContextMenuPlugin] allows for the addition of custom options in the editor's context menu.
[EditorContextMenuPlugin] allows for the addition of custom options in the editor's context menu.
EditorDebuggerPlugin
[EditorDebuggerPlugin] provides functions related to the editor side of the debugger.
[EditorDebuggerPlugin] provides functions related to the editor side of the debugger.
EditorDebuggerSession
This class cannot be directly instantiated and must be retrieved via an [EditorDebuggerPlugin].
This class cannot be directly instantiated and must be retrieved via an [EditorDebuggerPlugin].
EditorExportPlatform
Base resource that provides the functionality of exporting a release build of a project to a platform, from the editor.
Base resource that provides the functionality of exporting a release build of a project to a platform, from the editor.
EditorExportPlatformAppleEmbedded
The base class for Apple embedded platform exporters.
The base class for Apple embedded platform exporters.
EditorExportPlatformExtension
External [EditorExportPlatform] implementations should inherit from this class.
External [EditorExportPlatform] implementations should inherit from this class.
EditorExportPlatformPC
The base class for the desktop platform exporters.
The base class for the desktop platform exporters.
EditorExportPlatformWeb
The Web exporter customizes how a web build is handled.
The Web exporter customizes how a web build is handled.
EditorExportPlatformWindows
The Windows exporter customizes how a Windows build is handled.
The Windows exporter customizes how a Windows build is handled.
EditorExportPlugin
[EditorExportPlugin]s are automatically invoked whenever the user exports the project.
[EditorExportPlugin]s are automatically invoked whenever the user exports the project.
EditorExportPreset
Represents the configuration of an export preset, as created by the editor's export dialog.
Represents the configuration of an export preset, as created by the editor's export dialog.
EditorFeatureProfile
An editor feature profile can be used to disable specific features of the Godot editor.
An editor feature profile can be used to disable specific features of the Godot editor.
EditorFileDialog
[EditorFileDialog] is an enhanced version of [FileDialog] available only to editor plugins.
[EditorFileDialog] is an enhanced version of [FileDialog] available only to editor plugins.
EditorFileSystem
This object holds information of all resources in the filesystem, their types, etc.
This object holds information of all resources in the filesystem, their types, etc.
EditorFileSystemDirectory
A more generalized, low-level variation of the directory concept.
A more generalized, low-level variation of the directory concept.
EditorFileSystemImportFormatSupportQuery
This class is used to query and configure a certain import format.
This class is used to query and configure a certain import format.
EditorImportPlugin
[EditorImportPlugin]s provide a way to extend the editor's resource import functionality.
[EditorImportPlugin]s provide a way to extend the editor's resource import functionality.
EditorInspector
This is the control that implements property editing in the editor's Settings dialogs, the Inspector dock, etc.
This is the control that implements property editing in the editor's Settings dialogs, the Inspector dock, etc.
EditorInspectorPlugin
[EditorInspectorPlugin] allows adding custom property editors to [EditorInspector].
[EditorInspectorPlugin] allows adding custom property editors to [EditorInspector].
EditorInterface
[EditorInterface] gives you control over Godot editor's window.
[EditorInterface] gives you control over Godot editor's window.
EditorNode3DGizmo
Gizmo that is used for providing custom visualization and editing (handles and subgizmos) for [Node3D] objects.
Gizmo that is used for providing custom visualization and editing (handles and subgizmos) for [Node3D] objects.
EditorNode3DGizmoPlugin
[EditorNode3DGizmoPlugin] allows you to define a new type of Gizmo.
[EditorNode3DGizmoPlugin] allows you to define a new type of Gizmo.
EditorPaths
This editor-only singleton returns OS-specific paths to various data folders and files.
This editor-only singleton returns OS-specific paths to various data folders and files.
EditorPlugin
Plugins are used by the editor to extend functionality.
Plugins are used by the editor to extend functionality.
EditorProperty
A custom control for editing properties that can be added to the [EditorInspector].
A custom control for editing properties that can be added to the [EditorInspector].
EditorResourceConversionPlugin
[EditorResourceConversionPlugin] is invoked when the context menu is brought up for a resource in the editor inspector.
[EditorResourceConversionPlugin] is invoked when the context menu is brought up for a resource in the editor inspector.
EditorResourcePicker
This [Control] node is used in the editor's Inspector dock to allow editing of [Resource] type properties.
This [Control] node is used in the editor's Inspector dock to allow editing of [Resource] type properties.
EditorResourcePreview
This node is used to generate previews for resources or files.
This node is used to generate previews for resources or files.
EditorResourcePreviewGenerator
Custom code to generate previews.
Custom code to generate previews.
EditorResourceTooltipPlugin
Resource tooltip plugins are used by [FileSystemDock] to generate customized tooltips for specific resources.
Resource tooltip plugins are used by [FileSystemDock] to generate customized tooltips for specific resources.
EditorSceneFormatImporter
[EditorSceneFormatImporter] allows to define an importer script for a third-party 3D format.
[EditorSceneFormatImporter] allows to define an importer script for a third-party 3D format.
EditorSceneFormatImporterBlend
Imports Blender scenes in the .blend file format through the glTF 2.0 3D import pipeline.
Imports Blender scenes in the .blend file format through the glTF 2.0 3D import pipeline.
EditorSceneFormatImporterFBX2GLTF
Imports Autodesk FBX 3D scenes by way of converting them to glTF 2.0 using the FBX2glTF command line tool.
Imports Autodesk FBX 3D scenes by way of converting them to glTF 2.0 using the FBX2glTF command line tool.
EditorSceneFormatImporterUFBX
EditorSceneFormatImporterUFBX is designed to load FBX files and supports both binary and ASCII FBX files from version 3000 onward.
EditorSceneFormatImporterUFBX is designed to load FBX files and supports both binary and ASCII FBX files from version 3000 onward.
EditorScenePostImport
Imported scenes can be automatically modified right after import by setting their Custom Script Import property to a tool script that inherits from this class.
Imported scenes can be automatically modified right after import by setting their Custom Script Import property to a tool script that inherits from this class.
EditorScenePostImportPlugin
This plugin type exists to modify the process of importing scenes, allowing to change the content as well as add importer options at every stage of the process.
This plugin type exists to modify the process of importing scenes, allowing to change the content as well as add importer options at every stage of the process.
EditorScript
Scripts extending this class and implementing its [Run] method can be executed from the Script Editor's File > Run menu option (or by pressing Ctrl + Shift + X) while the editor is running.
Scripts extending this class and implementing its [Run] method can be executed from the Script Editor's File > Run menu option (or by pressing Ctrl + Shift + X) while the editor is running.
EditorScriptPicker
Similar to [EditorResourcePicker] this [Control] node is used in the editor's Inspector dock, but only to edit the script property of a [Node].
Similar to [EditorResourcePicker] this [Control] node is used in the editor's Inspector dock, but only to edit the script property of a [Node].
EditorSelection
This object manages the SceneTree selection in the editor.
This object manages the SceneTree selection in the editor.
EditorSettings
Object that holds the project-independent editor settings.
Object that holds the project-independent editor settings.
EditorSpinSlider
This [Control] node is used in the editor's Inspector dock to allow editing of numeric values.
This [Control] node is used in the editor's Inspector dock to allow editing of numeric values.
EditorSyntaxHighlighter
Base class that all [SyntaxHighlighter]s used by the [ScriptEditor] extend from.
Base class that all [SyntaxHighlighter]s used by the [ScriptEditor] extend from.
EditorToaster
This object manages the functionality and display of toast notifications within the editor, ensuring timely and informative alerts are presented to users.
This object manages the functionality and display of toast notifications within the editor, ensuring timely and informative alerts are presented to users.
EditorTranslationParserPlugin
[EditorTranslationParserPlugin] is invoked when a file is being parsed to extract strings that require translation.
[EditorTranslationParserPlugin] is invoked when a file is being parsed to extract strings that require translation.
EditorUndoRedoManager
[EditorUndoRedoManager] is a manager for [UndoRedo] objects associated with edited scenes.
[EditorUndoRedoManager] is a manager for [UndoRedo] objects associated with edited scenes.
EditorVCSInterface
Defines the API that the editor uses to extract information from the underlying VCS.
Defines the API that the editor uses to extract information from the underlying VCS.
EncodedObjectAsID
Utility class which holds a reference to the internal identifier of an [Object] instance, as given by [Object.GetInstanceId].
Utility class which holds a reference to the internal identifier of an [Object] instance, as given by [Object.GetInstanceId].
Engine
The [Engine] singleton allows you to query and modify the project's run-time parameters, such as frames per second, time scale, and others.
The [Engine] singleton allows you to query and modify the project's run-time parameters, such as frames per second, time scale, and others.
EngineDebugger
[EngineDebugger] handles the communication between the editor and the running game.
[EngineDebugger] handles the communication between the editor and the running game.
EngineProfiler
This class can be used to implement custom profilers that are able to interact with the engine and editor debugger.
This class can be used to implement custom profilers that are able to interact with the engine and editor debugger.
Environment
Resource for environment nodes (like [WorldEnvironment]) that define multiple environment operations (such as background [Sky] or [Color.RGBA], ambient light, fog, depth-of-field...).
Resource for environment nodes (like [WorldEnvironment]) that define multiple environment operations (such as background [Sky] or [Color.RGBA], ambient light, fog, depth-of-field...).
Expression
An expression can be made of any arithmetic operation, built-in math function call, method call of a passed instance, or built-in type construction call.
An expression can be made of any arithmetic operation, built-in math function call, method call of a passed instance, or built-in type construction call.
ExternalTexture
Displays the content of an external buffer provided by the platform.
Displays the content of an external buffer provided by the platform.
FBXDocument
The FBXDocument handles FBX documents.
The FBXDocument handles FBX documents.
FBXState
The FBXState handles the state data imported from FBX files.
The FBXState handles the state data imported from FBX files.
FastNoiseLite
This class generates noise using the FastNoiseLite library, which is a collection of several noise algorithms including Cellular, Perlin, Value, and more.
This class generates noise using the FastNoiseLite library, which is a collection of several noise algorithms including Cellular, Perlin, Value, and more.
FileAccess
This class can be used to permanently store data in the user device's file system and to read from it.
This class can be used to permanently store data in the user device's file system and to read from it.
FileDialog
[FileDialog] is a preset dialog used to choose files and directories in the filesystem.
[FileDialog] is a preset dialog used to choose files and directories in the filesystem.
FileSystemDock
This class is available only in [EditorPlugin]s and can't be instantiated.
This class is available only in [EditorPlugin]s and can't be instantiated.
FlowContainer
A container that arranges its child controls horizontally or vertically and wraps them around at the borders.
A container that arranges its child controls horizontally or vertically and wraps them around at the borders.
FogMaterial
A [Material] resource that can be used by [FogVolume]s to draw volumetric effects.
A [Material] resource that can be used by [FogVolume]s to draw volumetric effects.
FogVolume
[FogVolume]s are used to add localized fog into the global volumetric fog effect.
[FogVolume]s are used to add localized fog into the global volumetric fog effect.
FoldableContainer
A container that can be expanded/collapsed, with a title that can be filled with controls, such as buttons.
A container that can be expanded/collapsed, with a title that can be filled with controls, such as buttons.
FoldableGroup
A group of [FoldableContainer]-derived nodes.
A group of [FoldableContainer]-derived nodes.
Font
Abstract base class for different font types.
Abstract base class for different font types.
FontFile
[FontFile] contains a set of glyphs to represent Unicode characters imported from a font file, as well as a cache of rasterized glyphs, and a set of fallback [Font]s to use.
[FontFile] contains a set of glyphs to represent Unicode characters imported from a font file, as well as a cache of rasterized glyphs, and a set of fallback [Font]s to use.
FontVariation
Provides OpenType variations, simulated bold / slant, and additional font settings like OpenType features and extra spacing.
Provides OpenType variations, simulated bold / slant, and additional font settings like OpenType features and extra spacing.
FramebufferCacheRD
Framebuffer cache manager for Rendering Device based renderers.
Framebuffer cache manager for Rendering Device based renderers.
GDExtension
The [GDExtension] resource type represents a [shared library] which can expand the functionality of the engine.
The [GDExtension] resource type represents a [shared library] which can expand the functionality of the engine.
GDExtensionManager
The GDExtensionManager loads, initializes, and keeps track of all available [GDExtension] libraries in the project.
The GDExtensionManager loads, initializes, and keeps track of all available [GDExtension] libraries in the project.
GDScript
A script implemented in the GDScript programming language, saved with the .gd extension.
A script implemented in the GDScript programming language, saved with the .gd extension.
GDScriptSyntaxHighlighter
Note: This class can only be used for editor plugins because it relies on editor settings.
Note: This class can only be used for editor plugins because it relies on editor settings.
GLTFAccessor
GLTFAccessor is a data structure representing a glTF accessor that would be found in the "accessors" array.
GLTFAccessor is a data structure representing a glTF accessor that would be found in the "accessors" array.
GLTFBufferView
GLTFBufferView is a data structure representing a glTF bufferView that would be found in the "bufferViews" array.
GLTFBufferView is a data structure representing a glTF bufferView that would be found in the "bufferViews" array.
GLTFCamera
Represents a camera as defined by the base glTF spec.
Represents a camera as defined by the base glTF spec.
GLTFDocument
GLTFDocument supports reading data from a glTF file, buffer, or Godot scene.
GLTFDocument supports reading data from a glTF file, buffer, or Godot scene.
GLTFDocumentExtension
Extends the functionality of the [GLTFDocument] class by allowing you to run arbitrary code at various stages of glTF import or export.
Extends the functionality of the [GLTFDocument] class by allowing you to run arbitrary code at various stages of glTF import or export.
GLTFLight
Represents a light as defined by the KHR_lights_punctual glTF extension.
Represents a light as defined by the KHR_lights_punctual glTF extension.
GLTFMesh
GLTFMesh handles 3D mesh data imported from glTF files.
GLTFMesh handles 3D mesh data imported from glTF files.
GLTFNode
Represents a glTF node.
Represents a glTF node.
GLTFObjectModelProperty
GLTFObjectModelProperty defines a mapping between a property in the glTF object model and a NodePath in the Godot scene tree.
GLTFObjectModelProperty defines a mapping between a property in the glTF object model and a NodePath in the Godot scene tree.
GLTFPhysicsBody
Represents a physics body as an intermediary between the OMI_physics_body glTF data and Godot's nodes, and it's abstracted in a way that allows adding support for different glTF physics extensions in the future.
Represents a physics body as an intermediary between the OMI_physics_body glTF data and Godot's nodes, and it's abstracted in a way that allows adding support for different glTF physics extensions in the future.
GLTFPhysicsShape
Represents a physics shape as defined by the OMI_physics_shape or OMI_collider glTF extensions.
Represents a physics shape as defined by the OMI_physics_shape or OMI_collider glTF extensions.
GLTFSpecGloss
KHR_materials_pbrSpecularGlossiness is an archived glTF extension.
KHR_materials_pbrSpecularGlossiness is an archived glTF extension.
GLTFState
Contains all nodes and resources of a glTF file.
Contains all nodes and resources of a glTF file.
GLTFTextureSampler
Represents a texture sampler as defined by the base glTF spec.
Represents a texture sampler as defined by the base glTF spec.
GPUParticles2D
2D particle node used to create a variety of particle systems and effects.
2D particle node used to create a variety of particle systems and effects.
GPUParticles3D
3D particle node used to create a variety of particle systems and effects.
3D particle node used to create a variety of particle systems and effects.
GPUParticlesAttractor3D
Particle attractors can be used to attract particles towards the attractor's origin, or to push them away from the attractor's origin.
Particle attractors can be used to attract particles towards the attractor's origin, or to push them away from the attractor's origin.
GPUParticlesAttractorBox3D
A box-shaped attractor that influences particles from [GPUParticles3D] nodes.
A box-shaped attractor that influences particles from [GPUParticles3D] nodes.
GPUParticlesAttractorSphere3D
A spheroid-shaped attractor that influences particles from [GPUParticles3D] nodes.
A spheroid-shaped attractor that influences particles from [GPUParticles3D] nodes.
GPUParticlesAttractorVectorField3D
A box-shaped attractor with varying directions and strengths defined in it that influences particles from [GPUParticles3D] nodes.
A box-shaped attractor with varying directions and strengths defined in it that influences particles from [GPUParticles3D] nodes.
GPUParticlesCollision3D
Particle collision shapes can be used to make particles stop or bounce against them.
Particle collision shapes can be used to make particles stop or bounce against them.
GPUParticlesCollisionBox3D
A box-shaped 3D particle collision shape affecting [GPUParticles3D] nodes.
A box-shaped 3D particle collision shape affecting [GPUParticles3D] nodes.
GPUParticlesCollisionHeightField3D
A real-time heightmap-shaped 3D particle collision shape affecting [GPUParticles3D] nodes.
A real-time heightmap-shaped 3D particle collision shape affecting [GPUParticles3D] nodes.
GPUParticlesCollisionSDF3D
A baked signed distance field 3D particle collision shape affecting [GPUParticles3D] nodes.
A baked signed distance field 3D particle collision shape affecting [GPUParticles3D] nodes.
GPUParticlesCollisionSphere3D
A sphere-shaped 3D particle collision shape affecting [GPUParticles3D] nodes.
A sphere-shaped 3D particle collision shape affecting [GPUParticles3D] nodes.
GUI
Generic6DOFJoint3D
The [Generic6DOFJoint3D] (6 Degrees Of Freedom) joint allows for implementing custom types of joints by locking the rotation and translation of certain axes.
The [Generic6DOFJoint3D] (6 Degrees Of Freedom) joint allows for implementing custom types of joints by locking the rotation and translation of certain axes.
Geometry2D
Provides a set of helper functions to create geometric shapes, compute intersections between shapes, and process various other geometric operations in 2D.
Provides a set of helper functions to create geometric shapes, compute intersections between shapes, and process various other geometric operations in 2D.
Geometry3D
Provides a set of helper functions to create geometric shapes, compute intersections between shapes, and process various other geometric operations in 3D.
Provides a set of helper functions to create geometric shapes, compute intersections between shapes, and process various other geometric operations in 3D.
GeometryInstance3D
Base node for geometry-based visual instances.
Base node for geometry-based visual instances.
Gradient
This resource describes a color transition by defining a set of colored points and how to interpolate between them.
This resource describes a color transition by defining a set of colored points and how to interpolate between them.
GradientTexture1D
A 1D texture that obtains colors from a [Gradient] to fill the texture data.
A 1D texture that obtains colors from a [Gradient] to fill the texture data.
GradientTexture2D
A 2D texture that obtains colors from a [Gradient] to fill the texture data.
A 2D texture that obtains colors from a [Gradient] to fill the texture data.
GraphEdit
[GraphEdit] provides tools for creation, manipulation, and display of various graphs.
[GraphEdit] provides tools for creation, manipulation, and display of various graphs.
GraphElement
[GraphElement] allows to create custom elements for a [GraphEdit] graph.
[GraphElement] allows to create custom elements for a [GraphEdit] graph.
GraphFrame
GraphFrame is a special [GraphElement] to which other [GraphElement]s can be attached.
GraphFrame is a special [GraphElement] to which other [GraphElement]s can be attached.
GraphNode
[GraphNode] allows to create nodes for a [GraphEdit] graph with customizable content based on its child controls.
[GraphNode] allows to create nodes for a [GraphEdit] graph with customizable content based on its child controls.
GridContainer
[GridContainer] arranges its child controls in a grid layout.
[GridContainer] arranges its child controls in a grid layout.
GridMap
GridMap lets you place meshes on a grid interactively.
GridMap lets you place meshes on a grid interactively.
GridMapEditorPlugin
GridMapEditorPlugin provides access to the [GridMap] editor functionality.
GridMapEditorPlugin provides access to the [GridMap] editor functionality.
GrooveJoint2D
A physics joint that restricts the movement of two 2D physics bodies to a fixed axis.
A physics joint that restricts the movement of two 2D physics bodies to a fixed axis.
HBoxContainer
A variant of [BoxContainer] that can only arrange its child controls horizontally.
A variant of [BoxContainer] that can only arrange its child controls horizontally.
HFlowContainer
A variant of [FlowContainer] that can only arrange its child controls horizontally, wrapping them around at the borders.
A variant of [FlowContainer] that can only arrange its child controls horizontally, wrapping them around at the borders.
HMACContext
The HMACContext class is useful for advanced HMAC use cases, such as streaming the message as it supports creating the message over time rather than providing it all at once.
The HMACContext class is useful for advanced HMAC use cases, such as streaming the message as it supports creating the message over time rather than providing it all at once.
HScrollBar
A horizontal scrollbar, typically used to navigate through content that extends beyond the visible width of a control.
A horizontal scrollbar, typically used to navigate through content that extends beyond the visible width of a control.
HSeparator
A horizontal separator used for separating other controls that are arranged vertically.
A horizontal separator used for separating other controls that are arranged vertically.
HSlider
A horizontal slider, used to adjust a value by moving a grabber along a horizontal axis.
A horizontal slider, used to adjust a value by moving a grabber along a horizontal axis.
HSplitContainer
A container that accepts only two child controls, then arranges them horizontally and creates a divisor between them.
A container that accepts only two child controls, then arranges them horizontally and creates a divisor between them.
HTTPClient
Hyper-text transfer protocol client (sometimes called "User Agent").
Hyper-text transfer protocol client (sometimes called "User Agent").
HTTPRequest
A node with the ability to send HTTP requests.
A node with the ability to send HTTP requests.
HashingContext
The HashingContext class provides an interface for computing cryptographic hashes over multiple iterations.
The HashingContext class provides an interface for computing cryptographic hashes over multiple iterations.
HeightMapShape3D
A 3D heightmap shape, intended for use in physics.
A 3D heightmap shape, intended for use in physics.
HingeJoint3D
A physics joint that restricts the rotation of a 3D physics body around an axis relative to another physics body.
A physics joint that restricts the rotation of a 3D physics body around an axis relative to another physics body.
IP
IP contains support functions for the Internet Protocol (IP).
IP contains support functions for the Internet Protocol (IP).
Image
Native image datatype.
Native image datatype.
ImageFormatLoader
The engine supports multiple image formats out of the box (PNG, SVG, JPEG, WebP to name a few), but you can choose to implement support for additional image formats by extending [ImageFormatLoaderExtension].
The engine supports multiple image formats out of the box (PNG, SVG, JPEG, WebP to name a few), but you can choose to implement support for additional image formats by extending [ImageFormatLoaderExtension].
ImageFormatLoaderExtension
The engine supports multiple image formats out of the box (PNG, SVG, JPEG, WebP to name a few), but you can choose to implement support for additional image formats by extending this class.
The engine supports multiple image formats out of the box (PNG, SVG, JPEG, WebP to name a few), but you can choose to implement support for additional image formats by extending this class.
ImageTexture
A [Texture2D] based on an [Image].
A [Texture2D] based on an [Image].
ImageTexture3D
[ImageTexture3D] is a 3-dimensional [ImageTexture] that has a width, height, and depth.
[ImageTexture3D] is a 3-dimensional [ImageTexture] that has a width, height, and depth.
ImageTextureLayered
Base class for [Texture2DArray], [Cubemap] and [CubemapArray].
Base class for [Texture2DArray], [Cubemap] and [CubemapArray].
ImmediateMesh
A mesh type optimized for creating geometry manually, similar to OpenGL 1.x immediate mode.
A mesh type optimized for creating geometry manually, similar to OpenGL 1.x immediate mode.
ImporterMesh
ImporterMesh is a type of [Resource] analogous to [ArrayMesh].
ImporterMesh is a type of [Resource] analogous to [ArrayMesh].
Input
The [Input] singleton handles key presses, mouse buttons and movement, gamepads, and input actions.
The [Input] singleton handles key presses, mouse buttons and movement, gamepads, and input actions.
InputEvent
Abstract base class of all types of input events.
Abstract base class of all types of input events.
InputEventAction
Contains a generic action which can be targeted from several types of inputs.
Contains a generic action which can be targeted from several types of inputs.
InputEventFromWindow
InputEventFromWindow represents events specifically received by windows.
InputEventFromWindow represents events specifically received by windows.
InputEventGesture
InputEventGestures are sent when a user performs a supported gesture on a touch screen.
InputEventGestures are sent when a user performs a supported gesture on a touch screen.
InputEventJoypadButton
Input event type for gamepad buttons.
Input event type for gamepad buttons.
InputEventJoypadMotion
Stores information about joystick motions.
Stores information about joystick motions.
InputEventKey
An input event for keys on a keyboard.
An input event for keys on a keyboard.
InputEventMIDI
InputEventMIDI stores information about messages from [MIDI] (Musical Instrument Digital Interface) devices.
InputEventMIDI stores information about messages from [MIDI] (Musical Instrument Digital Interface) devices.
InputEventMagnifyGesture
Stores the factor of a magnifying touch gesture.
Stores the factor of a magnifying touch gesture.
InputEventMouse
Stores general information about mouse events.
Stores general information about mouse events.
InputEventMouseButton
Stores information about mouse click events.
Stores information about mouse click events.
InputEventMouseMotion
Stores information about a mouse or a pen motion.
Stores information about a mouse or a pen motion.
InputEventPanGesture
Stores information about pan gestures.
Stores information about pan gestures.
InputEventScreenDrag
Stores information about screen drag events.
Stores information about screen drag events.
InputEventScreenTouch
Stores information about multi-touch press/release input events.
Stores information about multi-touch press/release input events.
InputEventShortcut
InputEventShortcut is a special event that can be received in [Node.Input], [Node.ShortcutInput], and [Node.UnhandledInput].
InputEventShortcut is a special event that can be received in [Node.Input], [Node.ShortcutInput], and [Node.UnhandledInput].
InputEventWithModifiers
Stores information about mouse, keyboard, and touch gesture input events.
Stores information about mouse, keyboard, and touch gesture input events.
InputMap
Manages all [InputEventAction] which can be created/modified from the project settings menu Project > Project Settings > Input Map or in code with AddAction and ActionAddEvent.
Manages all [InputEventAction] which can be created/modified from the project settings menu Project > Project Settings > Input Map or in code with AddAction and ActionAddEvent.
InstancePlaceholder
Turning on the option Load As Placeholder for an instantiated scene in the editor causes it to be replaced by an [InstancePlaceholder] when running the game, this will not replace the node in the editor.
Turning on the option Load As Placeholder for an instantiated scene in the editor causes it to be replaced by an [InstancePlaceholder] when running the game, this will not replace the node in the editor.
IntervalTweener
[IntervalTweener] is used to make delays in a tweening sequence.
[IntervalTweener] is used to make delays in a tweening sequence.
ItemList
This control provides a vertical list of selectable items that may be in a single or in multiple columns, with each item having options for text and an icon.
This control provides a vertical list of selectable items that may be in a single or in multiple columns, with each item having options for text and an icon.
JNISingleton
The JNISingleton is implemented only in the Android export.
The JNISingleton is implemented only in the Android export.
JSON
The [JSON] class enables all data types to be converted to and from a JSON string.
The [JSON] class enables all data types to be converted to and from a JSON string.
JSONRPC
[JSON-RPC] is a standard which wraps a method call in a [JSON] object.
[JSON-RPC] is a standard which wraps a method call in a [JSON] object.
JavaClass
Represents a class from the Java Native Interface.
Represents a class from the Java Native Interface.
JavaClassWrapper
The JavaClassWrapper singleton provides a way for the Godot application to send and receive data through the [Java Native Interface] (JNI).
The JavaClassWrapper singleton provides a way for the Godot application to send and receive data through the [Java Native Interface] (JNI).
JavaObject
Represents an object from the Java Native Interface.
Represents an object from the Java Native Interface.
JavaScriptBridge
The JavaScriptBridge singleton is implemented only in the Web export.
The JavaScriptBridge singleton is implemented only in the Web export.
JavaScriptObject
JavaScriptObject is used to interact with JavaScript objects retrieved or created via [JavaScriptBridge.GetInterface], [JavaScriptBridge.CreateObject], or [JavaScriptBridge.CreateCallback].
JavaScriptObject is used to interact with JavaScript objects retrieved or created via [JavaScriptBridge.GetInterface], [JavaScriptBridge.CreateObject], or [JavaScriptBridge.CreateCallback].
Joint2D
Abstract base class for all joints in 2D physics.
Abstract base class for all joints in 2D physics.
Joint3D
Abstract base class for all joints in 3D physics.
Abstract base class for all joints in 3D physics.
KinematicCollision2D
Holds collision data from the movement of a [PhysicsBody2D], usually from [PhysicsBody2D.MoveAndCollide].
Holds collision data from the movement of a [PhysicsBody2D], usually from [PhysicsBody2D.MoveAndCollide].
KinematicCollision3D
Holds collision data from the movement of a [PhysicsBody3D], usually from [PhysicsBody3D.MoveAndCollide].
Holds collision data from the movement of a [PhysicsBody3D], usually from [PhysicsBody3D.MoveAndCollide].
Label
A control for displaying plain text.
A control for displaying plain text.
Label3D
A node for displaying plain text in 3D space.
A node for displaying plain text in 3D space.
LabelSettings
[LabelSettings] is a resource that provides common settings to customize the text in a [Label].
[LabelSettings] is a resource that provides common settings to customize the text in a [Label].
Light2D
Casts light in a 2D environment.
Casts light in a 2D environment.
Light3D
Light3D is the abstract base class for light nodes.
Light3D is the abstract base class for light nodes.
LightOccluder2D
Occludes light cast by a Light2D, casting shadows.
Occludes light cast by a Light2D, casting shadows.
LightmapGI
The [LightmapGI] node is used to compute and store baked lightmaps.
The [LightmapGI] node is used to compute and store baked lightmaps.
LightmapGIData
[LightmapGIData] contains baked lightmap and dynamic object probe data for [LightmapGI].
[LightmapGIData] contains baked lightmap and dynamic object probe data for [LightmapGI].
LightmapProbe
[LightmapProbe] represents the position of a single manually placed probe for dynamic object lighting with [LightmapGI].
[LightmapProbe] represents the position of a single manually placed probe for dynamic object lighting with [LightmapGI].
Lightmapper
This class should be extended by custom lightmapper classes.
This class should be extended by custom lightmapper classes.
LightmapperRD
LightmapperRD ("RD" stands for [RenderingDevice]) is the built-in GPU-based lightmapper for use with [LightmapGI].
LightmapperRD ("RD" stands for [RenderingDevice]) is the built-in GPU-based lightmapper for use with [LightmapGI].
Line2D
This node draws a 2D polyline, i.e.
This node draws a 2D polyline, i.e.
LineEdit
[LineEdit] provides an input field for editing a single line of text.
[LineEdit] provides an input field for editing a single line of text.
LinkButton
A button that represents a link.
A button that represents a link.
Logger
Custom logger to receive messages from the internal error/warning stream.
Custom logger to receive messages from the internal error/warning stream.
LookAtModifier3D
This [SkeletonModifier3D] rotates a bone to look at a target.
This [SkeletonModifier3D] rotates a bone to look at a target.
MainLoop
[MainLoop] is the abstract base class for a Godot project's game loop.
[MainLoop] is the abstract base class for a Godot project's game loop.
MarginContainer
[MarginContainer] adds an adjustable margin on each side of its child controls.
[MarginContainer] adds an adjustable margin on each side of its child controls.
Marker2D
Generic 2D position hint for editing.
Generic 2D position hint for editing.
Marker3D
Generic 3D position hint for editing.
Generic 3D position hint for editing.
Marshalls
Provides data transformation and encoding utility functions.
Provides data transformation and encoding utility functions.
Material
[Material] is a base resource used for coloring and shading geometry.
[Material] is a base resource used for coloring and shading geometry.
MenuBar
A horizontal menu bar that creates a menu for each [PopupMenu] child.
A horizontal menu bar that creates a menu for each [PopupMenu] child.
MenuButton
A button that brings up a [PopupMenu] when clicked.
A button that brings up a [PopupMenu] when clicked.
Mesh
Mesh is a type of [Resource] that contains vertex array-based geometry, divided in surfaces.
Mesh is a type of [Resource] that contains vertex array-based geometry, divided in surfaces.
MeshConvexDecompositionSettings
Parameters to be used with a [Mesh] convex decomposition operation.
Parameters to be used with a [Mesh] convex decomposition operation.
MeshDataTool
MeshDataTool provides access to individual vertices in a [Mesh].
MeshDataTool provides access to individual vertices in a [Mesh].
MeshInstance2D
Node used for displaying a [Mesh] in 2D. A [MeshInstance2D] can be automatically created from an existing [Sprite2D] via a tool in the editor toolbar.
Node used for displaying a [Mesh] in 2D. A [MeshInstance2D] can be automatically created from an existing [Sprite2D] via a tool in the editor toolbar.
MeshInstance3D
MeshInstance3D is a node that takes a [Mesh] resource and adds it to the current scenario by creating an instance of it.
MeshInstance3D is a node that takes a [Mesh] resource and adds it to the current scenario by creating an instance of it.
MeshLibrary
A library of meshes.
A library of meshes.
MeshTexture
Simple texture that uses a mesh to draw itself.
Simple texture that uses a mesh to draw itself.
MethodTweener
[MethodTweener] is similar to a combination of [CallbackTweener] and [PropertyTweener].
[MethodTweener] is similar to a combination of [CallbackTweener] and [PropertyTweener].
MissingNode
This is an internal editor class intended for keeping data of nodes of unknown type (most likely this type was supplied by an extension that is no longer loaded).
This is an internal editor class intended for keeping data of nodes of unknown type (most likely this type was supplied by an extension that is no longer loaded).
MissingResource
This is an internal editor class intended for keeping data of resources of unknown type (most likely this type was supplied by an extension that is no longer loaded).
This is an internal editor class intended for keeping data of resources of unknown type (most likely this type was supplied by an extension that is no longer loaded).
MobileVRInterface
This is a generic mobile VR implementation where you need to provide details about the phone and HMD used.
This is a generic mobile VR implementation where you need to provide details about the phone and HMD used.
ModifierBoneTarget3D
This node selects a bone in a [Skeleton3D] and attaches to it.
This node selects a bone in a [Skeleton3D] and attaches to it.
MovieWriter
Godot can record videos with non-real-time simulation.
Godot can record videos with non-real-time simulation.
MultiMesh
MultiMesh provides low-level mesh instancing.
MultiMesh provides low-level mesh instancing.
MultiMeshInstance2D
[MultiMeshInstance2D] is a specialized node to instance a [MultiMesh] resource in 2D.
[MultiMeshInstance2D] is a specialized node to instance a [MultiMesh] resource in 2D.
MultiMeshInstance3D
[MultiMeshInstance3D] is a specialized node to instance [GeometryInstance3D]s based on a [MultiMesh] resource.
[MultiMeshInstance3D] is a specialized node to instance [GeometryInstance3D]s based on a [MultiMesh] resource.
MultiplayerAPI
Base class for high-level multiplayer API implementations.
Base class for high-level multiplayer API implementations.
MultiplayerAPIExtension
This class can be used to extend or replace the default [MultiplayerAPI] implementation via script or extensions.
This class can be used to extend or replace the default [MultiplayerAPI] implementation via script or extensions.
MultiplayerPeer
Manages the connection with one or more remote peers acting as server or client and assigning unique IDs to each of them.
Manages the connection with one or more remote peers acting as server or client and assigning unique IDs to each of them.
MultiplayerPeerExtension
This class is designed to be inherited from a GDExtension plugin to implement custom networking layers for the multiplayer API (such as WebRTC).
This class is designed to be inherited from a GDExtension plugin to implement custom networking layers for the multiplayer API (such as WebRTC).
MultiplayerSpawner
Spawnable scenes can be configured in the editor or through code (see [AddSpawnableScene]).
Spawnable scenes can be configured in the editor or through code (see [AddSpawnableScene]).
MultiplayerSynchronizer
By default, [MultiplayerSynchronizer] synchronizes configured properties to all peers.
By default, [MultiplayerSynchronizer] synchronizes configured properties to all peers.
Mutex
A synchronization mutex (mutual exclusion).
A synchronization mutex (mutual exclusion).
NativeMenu
[NativeMenu] handles low-level access to the OS native global menu bar and popup menus.
[NativeMenu] handles low-level access to the OS native global menu bar and popup menus.
NavigationAgent2D
A 2D agent used to pathfind to a position while avoiding static and dynamic obstacles.
A 2D agent used to pathfind to a position while avoiding static and dynamic obstacles.
NavigationAgent3D
A 3D agent used to pathfind to a position while avoiding static and dynamic obstacles.
A 3D agent used to pathfind to a position while avoiding static and dynamic obstacles.
NavigationLink2D
A link between two positions on [NavigationRegion2D]s that agents can be routed through.
A link between two positions on [NavigationRegion2D]s that agents can be routed through.
NavigationLink3D
A link between two positions on [NavigationRegion3D]s that agents can be routed through.
A link between two positions on [NavigationRegion3D]s that agents can be routed through.
NavigationMesh
A navigation mesh is a collection of polygons that define which areas of an environment are traversable to aid agents in pathfinding through complicated spaces.
A navigation mesh is a collection of polygons that define which areas of an environment are traversable to aid agents in pathfinding through complicated spaces.
NavigationMeshGenerator
This class is responsible for creating and clearing 3D navigation meshes used as [NavigationMesh] resources inside [NavigationRegion3D].
This class is responsible for creating and clearing 3D navigation meshes used as [NavigationMesh] resources inside [NavigationRegion3D].
NavigationMeshSourceGeometryData2D
Container for parsed source geometry data used in navigation mesh baking.
Container for parsed source geometry data used in navigation mesh baking.
NavigationMeshSourceGeometryData3D
Container for parsed source geometry data used in navigation mesh baking.
Container for parsed source geometry data used in navigation mesh baking.
NavigationObstacle2D
An obstacle needs a navigation map and outline [Vertices] defined to work correctly.
An obstacle needs a navigation map and outline [Vertices] defined to work correctly.
NavigationObstacle3D
An obstacle needs a navigation map and outline [Vertices] defined to work correctly.
An obstacle needs a navigation map and outline [Vertices] defined to work correctly.
NavigationPathQueryParameters2D
By changing various properties of this object, such as the start and target position, you can configure path queries to the [NavigationServer2D].
By changing various properties of this object, such as the start and target position, you can configure path queries to the [NavigationServer2D].
NavigationPathQueryParameters3D
By changing various properties of this object, such as the start and target position, you can configure path queries to the [NavigationServer3D].
By changing various properties of this object, such as the start and target position, you can configure path queries to the [NavigationServer3D].
NavigationPathQueryResult2D
This class stores the result of a 2D navigation path query from the [NavigationServer2D].
This class stores the result of a 2D navigation path query from the [NavigationServer2D].
NavigationPathQueryResult3D
This class stores the result of a 3D navigation path query from the [NavigationServer3D].
This class stores the result of a 3D navigation path query from the [NavigationServer3D].
NavigationPolygon
A navigation mesh can be created either by baking it with the help of the [NavigationServer2D], or by adding vertices and convex polygon indices arrays manually.
A navigation mesh can be created either by baking it with the help of the [NavigationServer2D], or by adding vertices and convex polygon indices arrays manually.
NavigationRegion2D
A traversable 2D region based on a [NavigationPolygon] that [NavigationAgent2D]s can use for pathfinding.
A traversable 2D region based on a [NavigationPolygon] that [NavigationAgent2D]s can use for pathfinding.
NavigationRegion3D
A traversable 3D region based on a [NavigationMesh] that [NavigationAgent3D]s can use for pathfinding.
A traversable 3D region based on a [NavigationMesh] that [NavigationAgent3D]s can use for pathfinding.
NavigationServer2D
NavigationServer2D is the server that handles navigation maps, regions and agents.
NavigationServer2D is the server that handles navigation maps, regions and agents.
NavigationServer3D
NavigationServer3D is the server that handles navigation maps, regions and agents.
NavigationServer3D is the server that handles navigation maps, regions and agents.
NinePatchRect
Also known as 9-slice panels, [NinePatchRect] produces clean panels of any size based on a small texture.
Also known as 9-slice panels, [NinePatchRect] produces clean panels of any size based on a small texture.
Node
Nodes are Godot's building blocks.
Nodes are Godot's building blocks.
Node2D
A 2D game object, with a transform (position, rotation, and scale).
A 2D game object, with a transform (position, rotation, and scale).
Node3D
The [Node3D] node is the base representation of a node in 3D space.
The [Node3D] node is the base representation of a node in 3D space.
Node3DGizmo
This abstract class helps connect the [Node3D] scene with the editor-specific [EditorNode3DGizmo] class.
This abstract class helps connect the [Node3D] scene with the editor-specific [EditorNode3DGizmo] class.
Noise
This class defines the interface for noise generation libraries to inherit from.
This class defines the interface for noise generation libraries to inherit from.
NoiseTexture2D
Uses the [FastNoiseLite] library or other noise generators to fill the texture data of your desired size.
Uses the [FastNoiseLite] library or other noise generators to fill the texture data of your desired size.
NoiseTexture3D
Uses the [FastNoiseLite] library or other noise generators to fill the texture data of your desired size.
Uses the [FastNoiseLite] library or other noise generators to fill the texture data of your desired size.
ORMMaterial3D
ORMMaterial3D's properties are inherited from [BaseMaterial3D].
ORMMaterial3D's properties are inherited from [BaseMaterial3D].
OS
The [OS] class wraps the most common functionalities for communicating with the host operating system, such as the video driver, delays, environment variables, execution of binaries, command line, etc.
The [OS] class wraps the most common functionalities for communicating with the host operating system, such as the video driver, delays, environment variables, execution of binaries, command line, etc.
Occluder3D
[Occluder3D] stores an occluder shape that can be used by the engine's occlusion culling system.
[Occluder3D] stores an occluder shape that can be used by the engine's occlusion culling system.
OccluderInstance3D
Occlusion culling can improve rendering performance in closed/semi-open areas by hiding geometry that is occluded by other objects.
Occlusion culling can improve rendering performance in closed/semi-open areas by hiding geometry that is occluded by other objects.
OccluderPolygon2D
Editor facility that helps you draw a 2D polygon used as resource for [LightOccluder2D].
Editor facility that helps you draw a 2D polygon used as resource for [LightOccluder2D].
OfflineMultiplayerPeer
This is the default [MultiplayerAPI.MultiplayerPeer] for the [Node.Multiplayer].
This is the default [MultiplayerAPI.MultiplayerPeer] for the [Node.Multiplayer].
OggPacketSequence
A sequence of Ogg packets.
A sequence of Ogg packets.
OmniLight3D
An Omnidirectional light is a type of [Light3D] that emits light in all directions.
An Omnidirectional light is a type of [Light3D] that emits light in all directions.
OpenXRAPIExtension
[OpenXRAPIExtension] makes OpenXR available for GDExtension.
[OpenXRAPIExtension] makes OpenXR available for GDExtension.
OpenXRAction
This resource defines an OpenXR action.
This resource defines an OpenXR action.
OpenXRActionBindingModifier
Binding modifier that applies on individual actions related to an interaction profile.
Binding modifier that applies on individual actions related to an interaction profile.
OpenXRActionMap
OpenXR uses an action system similar to Godots Input map system to bind inputs and outputs on various types of XR controllers to named actions.
OpenXR uses an action system similar to Godots Input map system to bind inputs and outputs on various types of XR controllers to named actions.
OpenXRActionSet
Action sets in OpenXR define a collection of actions that can be activated in unison.
Action sets in OpenXR define a collection of actions that can be activated in unison.
OpenXRAnalogThresholdModifier
The analog threshold binding modifier can modify a float input to a boolean input with specified thresholds.
The analog threshold binding modifier can modify a float input to a boolean input with specified thresholds.
OpenXRBindingModifier
Binding modifier base class.
Binding modifier base class.
OpenXRBindingModifierEditor
This is the default binding modifier editor used in the OpenXR action map.
This is the default binding modifier editor used in the OpenXR action map.
OpenXRCompositionLayer
Composition layers allow 2D viewports to be displayed inside of the headset by the XR compositor through special projections that retain their quality.
Composition layers allow 2D viewports to be displayed inside of the headset by the XR compositor through special projections that retain their quality.
OpenXRCompositionLayerCylinder
An OpenXR composition layer that allows rendering a [SubViewport] on an internal slice of a cylinder.
An OpenXR composition layer that allows rendering a [SubViewport] on an internal slice of a cylinder.
OpenXRCompositionLayerEquirect
An OpenXR composition layer that allows rendering a [SubViewport] on an internal slice of a sphere.
An OpenXR composition layer that allows rendering a [SubViewport] on an internal slice of a sphere.
OpenXRCompositionLayerQuad
An OpenXR composition layer that allows rendering a [SubViewport] on a quad.
An OpenXR composition layer that allows rendering a [SubViewport] on a quad.
OpenXRDpadBindingModifier
The DPad binding modifier converts an axis input to a dpad output, emulating a DPad.
The DPad binding modifier converts an axis input to a dpad output, emulating a DPad.
OpenXRExtensionWrapper
[OpenXRExtensionWrapper] allows implementing OpenXR extensions with GDExtension.
[OpenXRExtensionWrapper] allows implementing OpenXR extensions with GDExtension.
OpenXRExtensionWrapperExtension
[OpenXRExtensionWrapperExtension] allows implementing OpenXR extensions with GDExtension.
[OpenXRExtensionWrapperExtension] allows implementing OpenXR extensions with GDExtension.
OpenXRFutureExtension
This is a support extension in OpenXR that allows other OpenXR extensions to start asynchronous functions and get a callback after this function finishes.
This is a support extension in OpenXR that allows other OpenXR extensions to start asynchronous functions and get a callback after this function finishes.
OpenXRFutureResult
Result object tracking the asynchronous result of an OpenXR Future object, you can use this object to track the result status.
Result object tracking the asynchronous result of an OpenXR Future object, you can use this object to track the result status.
OpenXRHand
This node enables OpenXR's hand tracking functionality.
This node enables OpenXR's hand tracking functionality.
OpenXRHapticBase
This is a base class for haptic feedback resources.
This is a base class for haptic feedback resources.
OpenXRHapticVibration
This haptic feedback resource makes it possible to define a vibration based haptic feedback pulse that can be triggered through actions in the OpenXR action map.
This haptic feedback resource makes it possible to define a vibration based haptic feedback pulse that can be triggered through actions in the OpenXR action map.
OpenXRIPBinding
This binding resource binds an [OpenXRAction] to an input or output.
This binding resource binds an [OpenXRAction] to an input or output.
OpenXRIPBindingModifier
Binding modifier that applies directly on an interaction profile.
Binding modifier that applies directly on an interaction profile.
OpenXRInteractionProfile
This object stores suggested bindings for an interaction profile.
This object stores suggested bindings for an interaction profile.
OpenXRInteractionProfileEditor
This is the default OpenXR interaction profile editor that provides a generic interface for editing any interaction profile for which no custom editor has been defined.
This is the default OpenXR interaction profile editor that provides a generic interface for editing any interaction profile for which no custom editor has been defined.
OpenXRInteractionProfileEditorBase
This is a base class for interaction profile editors used by the OpenXR action map editor.
This is a base class for interaction profile editors used by the OpenXR action map editor.
OpenXRInteractionProfileMetadata
This class allows OpenXR core and extensions to register metadata relating to supported interaction devices such as controllers, trackers, haptic devices, etc.
This class allows OpenXR core and extensions to register metadata relating to supported interaction devices such as controllers, trackers, haptic devices, etc.
OpenXRInterface
The OpenXR interface allows Godot to interact with OpenXR runtimes and make it possible to create XR experiences and games.
The OpenXR interface allows Godot to interact with OpenXR runtimes and make it possible to create XR experiences and games.
OpenXRRenderModel
This node will display an OpenXR render model by accessing the associated GLTF and processes all animation data (if supported by the XR runtime).
This node will display an OpenXR render model by accessing the associated GLTF and processes all animation data (if supported by the XR runtime).
OpenXRRenderModelExtension
This class implements the OpenXR Render Model Extension, if enabled it will maintain a list of active render models and provides an interface to the render model data.
This class implements the OpenXR Render Model Extension, if enabled it will maintain a list of active render models and provides an interface to the render model data.
OpenXRRenderModelManager
This helper node will automatically manage displaying render models.
This helper node will automatically manage displaying render models.
OpenXRVisibilityMask
The visibility mask allows us to black out the part of the render result that is invisible due to lens distortion.
The visibility mask allows us to black out the part of the render result that is invisible due to lens distortion.
OptimizedTranslation
An optimized translation, used by default for CSV Translations.
An optimized translation, used by default for CSV Translations.
OptionButton
[OptionButton] is a type of button that brings up a dropdown with selectable items when pressed.
[OptionButton] is a type of button that brings up a dropdown with selectable items when pressed.
PCKPacker
The [PCKPacker] is used to create packages that can be loaded into a running project using [ProjectSettings.LoadResourcePack].
The [PCKPacker] is used to create packages that can be loaded into a running project using [ProjectSettings.LoadResourcePack].
PackedDataContainer
[PackedDataContainer] can be used to efficiently store data from untyped containers.
[PackedDataContainer] can be used to efficiently store data from untyped containers.
PackedDataContainerRef
When packing nested containers using [PackedDataContainer], they are recursively packed into [PackedDataContainerRef] (only applies to slice and data structure).
When packing nested containers using [PackedDataContainer], they are recursively packed into [PackedDataContainerRef] (only applies to slice and data structure).
PackedScene
A simplified interface to a scene file.
A simplified interface to a scene file.
PacketPeer
PacketPeer is an abstraction and base class for packet-based protocols (such as UDP).
PacketPeer is an abstraction and base class for packet-based protocols (such as UDP).
PacketPeerDTLS
This class represents a DTLS peer connection.
This class represents a DTLS peer connection.
PacketPeerStream
PacketStreamPeer provides a wrapper for working using packets over a stream.
PacketStreamPeer provides a wrapper for working using packets over a stream.
PacketPeerUDP
UDP packet peer.
UDP packet peer.
Panel
[Panel] is a GUI control that displays a [StyleBox].
[Panel] is a GUI control that displays a [StyleBox].
PanelContainer
A container that keeps its child controls within the area of a [StyleBox].
A container that keeps its child controls within the area of a [StyleBox].
PanoramaSkyMaterial
A resource referenced in a [Sky] that is used to draw a background.
A resource referenced in a [Sky] that is used to draw a background.
Parallax2D
A [Parallax2D] is used to create a parallax effect.
A [Parallax2D] is used to create a parallax effect.
ParallaxBackground
A ParallaxBackground uses one or more [ParallaxLayer] child nodes to create a parallax effect.
A ParallaxBackground uses one or more [ParallaxLayer] child nodes to create a parallax effect.
ParallaxLayer
A ParallaxLayer must be the child of a [ParallaxBackground] node.
A ParallaxLayer must be the child of a [ParallaxBackground] node.
ParticleProcessMaterial
[ParticleProcessMaterial] defines particle properties and behavior.
[ParticleProcessMaterial] defines particle properties and behavior.
Path2D
Can have [PathFollow2D] child nodes moving along the [Curve2D].
Can have [PathFollow2D] child nodes moving along the [Curve2D].
Path3D
Can have [PathFollow3D] child nodes moving along the [Curve3D].
Can have [PathFollow3D] child nodes moving along the [Curve3D].
PathFollow2D
This node takes its parent [Path2D], and returns the coordinates of a point within it, given a distance from the first vertex.
This node takes its parent [Path2D], and returns the coordinates of a point within it, given a distance from the first vertex.
PathFollow3D
This node takes its parent [Path3D], and returns the coordinates of a point within it, given a distance from the first vertex.
This node takes its parent [Path3D], and returns the coordinates of a point within it, given a distance from the first vertex.
Performance
This class provides access to a number of different monitors related to performance, such as memory usage, draw calls, and FPS.
This class provides access to a number of different monitors related to performance, such as memory usage, draw calls, and FPS.
PhysicalBone2D
The [PhysicalBone2D] node is a [RigidBody2D]-based node that can be used to make [Bone2D]s in a [Skeleton2D] react to physics.
The [PhysicalBone2D] node is a [RigidBody2D]-based node that can be used to make [Bone2D]s in a [Skeleton2D] react to physics.
PhysicalBone3D
The [PhysicalBone3D] node is a physics body that can be used to make bones in a [Skeleton3D] react to physics.
The [PhysicalBone3D] node is a physics body that can be used to make bones in a [Skeleton3D] react to physics.
PhysicalBoneSimulator3D
Node that can be the parent of [PhysicalBone3D] and can apply the simulation results to [Skeleton3D].
Node that can be the parent of [PhysicalBone3D] and can apply the simulation results to [Skeleton3D].
PhysicalSkyMaterial
The [PhysicalSkyMaterial] uses the Preetham analytic daylight model to draw a sky based on physical properties.
The [PhysicalSkyMaterial] uses the Preetham analytic daylight model to draw a sky based on physical properties.
PhysicsBody2D
[PhysicsBody2D] is an abstract base class for 2D game objects affected by physics.
[PhysicsBody2D] is an abstract base class for 2D game objects affected by physics.
PhysicsBody3D
[PhysicsBody3D] is an abstract base class for 3D game objects affected by physics.
[PhysicsBody3D] is an abstract base class for 3D game objects affected by physics.
PhysicsDirectBodyState2D
Provides direct access to a physics body in the [PhysicsServer2D], allowing safe changes to physics properties.
Provides direct access to a physics body in the [PhysicsServer2D], allowing safe changes to physics properties.
PhysicsDirectBodyState2DExtension
This class extends [PhysicsDirectBodyState2D] by providing additional virtual methods that can be overridden.
This class extends [PhysicsDirectBodyState2D] by providing additional virtual methods that can be overridden.
PhysicsDirectBodyState3D
Provides direct access to a physics body in the [PhysicsServer3D], allowing safe changes to physics properties.
Provides direct access to a physics body in the [PhysicsServer3D], allowing safe changes to physics properties.
PhysicsDirectBodyState3DExtension
This class extends [PhysicsDirectBodyState3D] by providing additional virtual methods that can be overridden.
This class extends [PhysicsDirectBodyState3D] by providing additional virtual methods that can be overridden.
PhysicsDirectSpaceState2D
Provides direct access to a physics space in the [PhysicsServer2D].
Provides direct access to a physics space in the [PhysicsServer2D].
PhysicsDirectSpaceState2DExtension
This class extends [PhysicsDirectSpaceState2D] by providing additional virtual methods that can be overridden.
This class extends [PhysicsDirectSpaceState2D] by providing additional virtual methods that can be overridden.
PhysicsDirectSpaceState3D
Provides direct access to a physics space in the [PhysicsServer3D].
Provides direct access to a physics space in the [PhysicsServer3D].
PhysicsDirectSpaceState3DExtension
This class extends [PhysicsDirectSpaceState3D] by providing additional virtual methods that can be overridden.
This class extends [PhysicsDirectSpaceState3D] by providing additional virtual methods that can be overridden.
PhysicsMaterial
Holds physics-related properties of a surface, namely its roughness and bounciness.
Holds physics-related properties of a surface, namely its roughness and bounciness.
PhysicsPointQueryParameters2D
By changing various properties of this object, such as the point position, you can configure the parameters for [PhysicsDirectSpaceState2D.IntersectPoint].
By changing various properties of this object, such as the point position, you can configure the parameters for [PhysicsDirectSpaceState2D.IntersectPoint].
PhysicsPointQueryParameters3D
By changing various properties of this object, such as the point position, you can configure the parameters for [PhysicsDirectSpaceState3D.IntersectPoint].
By changing various properties of this object, such as the point position, you can configure the parameters for [PhysicsDirectSpaceState3D.IntersectPoint].
PhysicsRayQueryParameters2D
By changing various properties of this object, such as the ray position, you can configure the parameters for [PhysicsDirectSpaceState2D.IntersectRay].
By changing various properties of this object, such as the ray position, you can configure the parameters for [PhysicsDirectSpaceState2D.IntersectRay].
PhysicsRayQueryParameters3D
By changing various properties of this object, such as the ray position, you can configure the parameters for [PhysicsDirectSpaceState3D.IntersectRay].
By changing various properties of this object, such as the ray position, you can configure the parameters for [PhysicsDirectSpaceState3D.IntersectRay].
PhysicsServer2D
PhysicsServer2D is the server responsible for all 2D physics.
PhysicsServer2D is the server responsible for all 2D physics.
PhysicsServer2DExtension
This class extends [PhysicsServer2D] by providing additional virtual methods that can be overridden.
This class extends [PhysicsServer2D] by providing additional virtual methods that can be overridden.
PhysicsServer2DManager
[PhysicsServer2DManager] is the API for registering [PhysicsServer2D] implementations and for setting the default implementation.
[PhysicsServer2DManager] is the API for registering [PhysicsServer2D] implementations and for setting the default implementation.
PhysicsServer3D
PhysicsServer3D is the server responsible for all 3D physics.
PhysicsServer3D is the server responsible for all 3D physics.
PhysicsServer3DExtension
This class extends [PhysicsServer3D] by providing additional virtual methods that can be overridden.
This class extends [PhysicsServer3D] by providing additional virtual methods that can be overridden.
PhysicsServer3DManager
[PhysicsServer3DManager] is the API for registering [PhysicsServer3D] implementations and for setting the default implementation.
[PhysicsServer3DManager] is the API for registering [PhysicsServer3D] implementations and for setting the default implementation.
PhysicsShapeQueryParameters2D
By changing various properties of this object, such as the shape, you can configure the parameters for [PhysicsDirectSpaceState2D]'s methods.
By changing various properties of this object, such as the shape, you can configure the parameters for [PhysicsDirectSpaceState2D]'s methods.
PhysicsShapeQueryParameters3D
By changing various properties of this object, such as the shape, you can configure the parameters for [PhysicsDirectSpaceState3D]'s methods.
By changing various properties of this object, such as the shape, you can configure the parameters for [PhysicsDirectSpaceState3D]'s methods.
PhysicsTestMotionParameters2D
By changing various properties of this object, such as the motion, you can configure the parameters for [PhysicsServer2D.BodyTestMotion].
By changing various properties of this object, such as the motion, you can configure the parameters for [PhysicsServer2D.BodyTestMotion].
PhysicsTestMotionParameters3D
By changing various properties of this object, such as the motion, you can configure the parameters for [PhysicsServer3D.BodyTestMotion].
By changing various properties of this object, such as the motion, you can configure the parameters for [PhysicsServer3D.BodyTestMotion].
PhysicsTestMotionResult2D
Describes the motion and collision result from [PhysicsServer2D.BodyTestMotion].
Describes the motion and collision result from [PhysicsServer2D.BodyTestMotion].
PhysicsTestMotionResult3D
Describes the motion and collision result from [PhysicsServer3D.BodyTestMotion].
Describes the motion and collision result from [PhysicsServer3D.BodyTestMotion].
PinJoint2D
A physics joint that attaches two 2D physics bodies at a single point, allowing them to freely rotate.
A physics joint that attaches two 2D physics bodies at a single point, allowing them to freely rotate.
PinJoint3D
A physics joint that attaches two 3D physics bodies at a single point, allowing them to freely rotate.
A physics joint that attaches two 3D physics bodies at a single point, allowing them to freely rotate.
PlaceholderCubemap
This class replaces a [Cubemap] or a [Cubemap]-derived class in 2 conditions:
This class replaces a [Cubemap] or a [Cubemap]-derived class in 2 conditions:
PlaceholderCubemapArray
This class replaces a [CubemapArray] or a [CubemapArray]-derived class in 2 conditions:
This class replaces a [CubemapArray] or a [CubemapArray]-derived class in 2 conditions:
PlaceholderMaterial
This class is used when loading a project that uses a [Material] subclass in 2 conditions:
This class is used when loading a project that uses a [Material] subclass in 2 conditions:
PlaceholderMesh
This class is used when loading a project that uses a [Mesh] subclass in 2 conditions:
This class is used when loading a project that uses a [Mesh] subclass in 2 conditions:
PlaceholderTexture2D
This class is used when loading a project that uses a [Texture2D] subclass in 2 conditions:
This class is used when loading a project that uses a [Texture2D] subclass in 2 conditions:
PlaceholderTexture2DArray
This class is used when loading a project that uses a [Texture2D] subclass in 2 conditions:
This class is used when loading a project that uses a [Texture2D] subclass in 2 conditions:
PlaceholderTexture3D
This class is used when loading a project that uses a [Texture3D] subclass in 2 conditions:
This class is used when loading a project that uses a [Texture3D] subclass in 2 conditions:
PlaceholderTextureLayered
This class is used when loading a project that uses a [TextureLayered] subclass in 2 conditions:
This class is used when loading a project that uses a [TextureLayered] subclass in 2 conditions:
PlaneMesh
Class representing a planar [PrimitiveMesh].
Class representing a planar [PrimitiveMesh].
PointLight2D
Casts light in a 2D environment.
Casts light in a 2D environment.
PointMesh
A [PointMesh] is a primitive mesh composed of a single point.
A [PointMesh] is a primitive mesh composed of a single point.
Polygon2D
A Polygon2D is defined by a set of points.
A Polygon2D is defined by a set of points.
PolygonOccluder3D
[PolygonOccluder3D] stores a polygon shape that can be used by the engine's occlusion culling system.
[PolygonOccluder3D] stores a polygon shape that can be used by the engine's occlusion culling system.
Popup
[Popup] is a base class for contextual windows and panels with fixed position.
[Popup] is a base class for contextual windows and panels with fixed position.
PopupMenu
[PopupMenu] is a modal window used to display a list of options.
[PopupMenu] is a modal window used to display a list of options.
PopupPanel
A popup with a configurable panel background.
A popup with a configurable panel background.
PortableCompressedTexture2D
This class allows storing compressed textures as self contained (not imported) resources.
This class allows storing compressed textures as self contained (not imported) resources.
PrimitiveMesh
Base class for all primitive meshes.
Base class for all primitive meshes.
PrismMesh
Class representing a prism-shaped [PrimitiveMesh].
Class representing a prism-shaped [PrimitiveMesh].
ProceduralSkyMaterial
[ProceduralSkyMaterial] provides a way to create an effective background quickly by defining procedural parameters for the sun, the sky and the ground.
[ProceduralSkyMaterial] provides a way to create an effective background quickly by defining procedural parameters for the sun, the sky and the ground.
ProgressBar
A control used for visual representation of a percentage.
A control used for visual representation of a percentage.
ProjectSettings
Stores variables that can be accessed from everywhere.
Stores variables that can be accessed from everywhere.
PropertyTweener
[PropertyTweener] is used to interpolate a property in an object.
[PropertyTweener] is used to interpolate a property in an object.
QuadMesh
Class representing a square [PrimitiveMesh].
Class representing a square [PrimitiveMesh].
QuadOccluder3D
[QuadOccluder3D] stores a flat plane shape that can be used by the engine's occlusion culling system.
[QuadOccluder3D] stores a flat plane shape that can be used by the engine's occlusion culling system.
RDAttachmentFormat
This object is used by [RenderingDevice].
This object is used by [RenderingDevice].
RDFramebufferPass
This class contains the list of attachment descriptions for a framebuffer pass.
This class contains the list of attachment descriptions for a framebuffer pass.
RDPipelineColorBlendState
This object is used by [RenderingDevice].
This object is used by [RenderingDevice].
RDPipelineColorBlendStateAttachment
Controls how blending between source and destination fragments is performed when using [RenderingDevice].
Controls how blending between source and destination fragments is performed when using [RenderingDevice].
RDPipelineDepthStencilState
[RDPipelineDepthStencilState] controls the way depth and stencil comparisons are performed when sampling those values using [RenderingDevice].
[RDPipelineDepthStencilState] controls the way depth and stencil comparisons are performed when sampling those values using [RenderingDevice].
RDPipelineMultisampleState
[RDPipelineMultisampleState] is used to control how multisample or supersample antialiasing is being performed when rendering using [RenderingDevice].
[RDPipelineMultisampleState] is used to control how multisample or supersample antialiasing is being performed when rendering using [RenderingDevice].
RDPipelineRasterizationState
This object is used by [RenderingDevice].
This object is used by [RenderingDevice].
RDPipelineSpecializationConstant
A specialization constant is a way to create additional variants of shaders without actually increasing the number of shader versions that are compiled.
A specialization constant is a way to create additional variants of shaders without actually increasing the number of shader versions that are compiled.
RDSamplerState
This object is used by [RenderingDevice].
This object is used by [RenderingDevice].
RDShaderFile
Compiled shader file in SPIR-V form.
Compiled shader file in SPIR-V form.
RDShaderSPIRV
[RDShaderSPIRV] represents an [RDShaderFile]'s [SPIR-V] code for various shader stages, as well as possible compilation error messages.
[RDShaderSPIRV] represents an [RDShaderFile]'s [SPIR-V] code for various shader stages, as well as possible compilation error messages.
RDShaderSource
Shader source code in text form.
Shader source code in text form.
RDTextureFormat
This object is used by [RenderingDevice].
This object is used by [RenderingDevice].
RDTextureView
This object is used by [RenderingDevice].
This object is used by [RenderingDevice].
RDUniform
This object is used by [RenderingDevice].
This object is used by [RenderingDevice].
RDVertexAttribute
This object is used by [RenderingDevice].
This object is used by [RenderingDevice].
RandomNumberGenerator
RandomNumberGenerator is a class for generating pseudo-random numbers.
RandomNumberGenerator is a class for generating pseudo-random numbers.
Range
Range is an abstract base class for controls that represent a number within a range, using a configured [Step] and [Page] size.
Range is an abstract base class for controls that represent a number within a range, using a configured [Step] and [Page] size.
RayCast2D
A raycast represents a ray from its origin to its [TargetPosition] that finds the closest object along its path, if it intersects any.
A raycast represents a ray from its origin to its [TargetPosition] that finds the closest object along its path, if it intersects any.
RayCast3D
A raycast represents a ray from its origin to its [TargetPosition] that finds the closest object along its path, if it intersects any.
A raycast represents a ray from its origin to its [TargetPosition] that finds the closest object along its path, if it intersects any.
RectangleShape2D
A 2D rectangle shape, intended for use in physics.
A 2D rectangle shape, intended for use in physics.
ReferenceRect
A rectangular box that displays only a colored border around its rectangle (see [Control.GetRect]).
A rectangular box that displays only a colored border around its rectangle (see [Control.GetRect]).
ReflectionProbe
Captures its surroundings as a cubemap, and stores versions of it with increasing levels of blur to simulate different material roughnesses.
Captures its surroundings as a cubemap, and stores versions of it with increasing levels of blur to simulate different material roughnesses.
RegEx
A regular expression (or regex) is a compact language that can be used to recognize strings that follow a specific pattern, such as URLs, email addresses, complete sentences, etc.
A regular expression (or regex) is a compact language that can be used to recognize strings that follow a specific pattern, such as URLs, email addresses, complete sentences, etc.
RegExMatch
Contains the results of a single [RegEx] match returned by [RegEx.Search] and [RegEx.SearchAll].
Contains the results of a single [RegEx] match returned by [RegEx.Search] and [RegEx.SearchAll].
RemoteTransform2D
RemoteTransform2D pushes its own [Transform2D.OriginXY] to another [Node2D] derived node (called the remote node) in the scene.
RemoteTransform2D pushes its own [Transform2D.OriginXY] to another [Node2D] derived node (called the remote node) in the scene.
RemoteTransform3D
RemoteTransform3D pushes its own [Transform3D.BasisOrigin] to another [Node3D] derived Node (called the remote node) in the scene.
RemoteTransform3D pushes its own [Transform3D.BasisOrigin] to another [Node3D] derived Node (called the remote node) in the scene.
RenderData
Abstract render data object, exists for the duration of rendering a single viewport.
Abstract render data object, exists for the duration of rendering a single viewport.
RenderDataExtension
This class allows for a RenderData implementation to be made in GDExtension.
This class allows for a RenderData implementation to be made in GDExtension.
RenderDataRD
This object manages all render data for the rendering device based renderers.
This object manages all render data for the rendering device based renderers.
RenderSceneBuffers
Abstract scene buffers object, created for each viewport for which 3D rendering is done.
Abstract scene buffers object, created for each viewport for which 3D rendering is done.
RenderSceneBuffersConfiguration
This configuration object is created and populated by the render engine on a viewport change and used to (re)configure a [RenderSceneBuffers] object.
This configuration object is created and populated by the render engine on a viewport change and used to (re)configure a [RenderSceneBuffers] object.
RenderSceneBuffersExtension
This class allows for a RenderSceneBuffer implementation to be made in GDExtension.
This class allows for a RenderSceneBuffer implementation to be made in GDExtension.
RenderSceneBuffersRD
This object manages all 3D rendering buffers for the rendering device based renderers.
This object manages all 3D rendering buffers for the rendering device based renderers.
RenderSceneData
Abstract scene data object, exists for the duration of rendering a single viewport.
Abstract scene data object, exists for the duration of rendering a single viewport.
RenderSceneDataExtension
This class allows for a RenderSceneData implementation to be made in GDExtension.
This class allows for a RenderSceneData implementation to be made in GDExtension.
RenderSceneDataRD
Object holds scene data related to rendering a single frame of a viewport.
Object holds scene data related to rendering a single frame of a viewport.
RenderingDevice
[RenderingDevice] is an abstraction for working with modern low-level graphics APIs such as Vulkan.
[RenderingDevice] is an abstraction for working with modern low-level graphics APIs such as Vulkan.
RenderingServer
The rendering server is the API backend for everything visible.
The rendering server is the API backend for everything visible.
Resource
Resource is the base class for all Godot-specific resource types, serving primarily as data containers.
Resource is the base class for all Godot-specific resource types, serving primarily as data containers.
ResourceFormatLoader
Godot loads resources in the editor or in exported games using ResourceFormatLoaders.
Godot loads resources in the editor or in exported games using ResourceFormatLoaders.
ResourceFormatSaver
The engine can save resources when you do it from the editor, or when you use the [ResourceSaver] singleton.
The engine can save resources when you do it from the editor, or when you use the [ResourceSaver] singleton.
ResourceImporter
This is the base class for Godot's resource importers.
This is the base class for Godot's resource importers.
ResourceImporterBMFont
The BMFont format is a format created by the [BMFont] program.
The BMFont format is a format created by the [BMFont] program.
ResourceImporterBitMap
[BitMap] resources are typically used as click masks in [TextureButton] and [TouchScreenButton].
[BitMap] resources are typically used as click masks in [TextureButton] and [TouchScreenButton].
ResourceImporterCSVTranslation
Comma-separated values are a plain text table storage format.
Comma-separated values are a plain text table storage format.
ResourceImporterDynamicFont
Unlike bitmap fonts, dynamic fonts can be resized to any size and still look crisp.
Unlike bitmap fonts, dynamic fonts can be resized to any size and still look crisp.
ResourceImporterImage
This importer imports [Image] resources, as opposed to [CompressedTexture2D].
This importer imports [Image] resources, as opposed to [CompressedTexture2D].
ResourceImporterImageFont
This image-based workflow can be easier to use than [ResourceImporterBMFont], but it requires all glyphs to have the same width and height, glyph advances and drawing offsets can be customized.
This image-based workflow can be easier to use than [ResourceImporterBMFont], but it requires all glyphs to have the same width and height, glyph advances and drawing offsets can be customized.
ResourceImporterLayeredTexture
This imports a 3-dimensional texture, which can then be used in custom shaders, as a [FogMaterial] density map or as a [GPUParticlesAttractorVectorField3D].
This imports a 3-dimensional texture, which can then be used in custom shaders, as a [FogMaterial] density map or as a [GPUParticlesAttractorVectorField3D].
ResourceImporterMP3
MP3 is a lossy audio format, with worse audio quality compared to [ResourceImporterOggVorbis] at a given bitrate.
MP3 is a lossy audio format, with worse audio quality compared to [ResourceImporterOggVorbis] at a given bitrate.
ResourceImporterOBJ
Unlike [ResourceImporterScene], [ResourceImporterOBJ] will import a single [Mesh] resource by default instead of importing a [PackedScene].
Unlike [ResourceImporterScene], [ResourceImporterOBJ] will import a single [Mesh] resource by default instead of importing a [PackedScene].
ResourceImporterOggVorbis
Ogg Vorbis is a lossy audio format, with better audio quality compared to [ResourceImporterMP3] at a given bitrate.
Ogg Vorbis is a lossy audio format, with better audio quality compared to [ResourceImporterMP3] at a given bitrate.
ResourceImporterSVG
This importer imports [DPITexture] resources.
This importer imports [DPITexture] resources.
ResourceImporterScene
See also [ResourceImporterOBJ], which is used for OBJ models that can be imported as an independent [Mesh] or a scene.
See also [ResourceImporterOBJ], which is used for OBJ models that can be imported as an independent [Mesh] or a scene.
ResourceImporterShaderFile
This imports native GLSL shaders as [RDShaderFile] resources, for use with low-level [RenderingDevice] operations.
This imports native GLSL shaders as [RDShaderFile] resources, for use with low-level [RenderingDevice] operations.
ResourceImporterTexture
This importer imports [CompressedTexture2D] resources.
This importer imports [CompressedTexture2D] resources.
ResourceImporterTextureAtlas
This imports a collection of textures from a PNG image into an [AtlasTexture] or 2D [ArrayMesh].
This imports a collection of textures from a PNG image into an [AtlasTexture] or 2D [ArrayMesh].
ResourceImporterWAV
WAV is an uncompressed format, which can provide higher quality compared to Ogg Vorbis and MP3.
WAV is an uncompressed format, which can provide higher quality compared to Ogg Vorbis and MP3.
ResourceLoader
A singleton used to load resource files from the filesystem.
A singleton used to load resource files from the filesystem.
ResourcePreloader
This node is used to preload sub-resources inside a scene, so when the scene is loaded, all the resources are ready to use and can be retrieved from the preloader.
This node is used to preload sub-resources inside a scene, so when the scene is loaded, all the resources are ready to use and can be retrieved from the preloader.
ResourceSaver
A singleton for saving resource types to the filesystem.
A singleton for saving resource types to the filesystem.
ResourceUID
Resource UIDs (Unique IDentifiers) allow the engine to keep references between resources intact, even if files are renamed or moved.
Resource UIDs (Unique IDentifiers) allow the engine to keep references between resources intact, even if files are renamed or moved.
RetargetModifier3D
Retrieves the pose (or global pose) relative to the parent Skeleton's rest in model space and transfers it to the child Skeleton.
Retrieves the pose (or global pose) relative to the parent Skeleton's rest in model space and transfers it to the child Skeleton.
RibbonTrailMesh
[RibbonTrailMesh] represents a straight ribbon-shaped mesh with variable width.
[RibbonTrailMesh] represents a straight ribbon-shaped mesh with variable width.
RichTextEffect
A custom effect for a [RichTextLabel], which can be loaded in the [RichTextLabel] inspector or using [RichTextLabel.InstallEffect].
A custom effect for a [RichTextLabel], which can be loaded in the [RichTextLabel] inspector or using [RichTextLabel.InstallEffect].
RichTextLabel
A control for displaying text that can contain custom fonts, images, and basic formatting.
A control for displaying text that can contain custom fonts, images, and basic formatting.
RigidBody2D
[RigidBody2D] implements full 2D physics.
[RigidBody2D] implements full 2D physics.
RigidBody3D
[RigidBody3D] implements full 3D physics.
[RigidBody3D] implements full 3D physics.
RootMotionView
Root motion refers to an animation technique where a mesh's skeleton is used to give impulse to a character.
Root motion refers to an animation technique where a mesh's skeleton is used to give impulse to a character.
SceneMultiplayer
This class is the default implementation of [MultiplayerAPI], used to provide multiplayer functionalities in Godot Engine.
This class is the default implementation of [MultiplayerAPI], used to provide multiplayer functionalities in Godot Engine.
SceneState
Maintains a list of resources, nodes, exported and overridden properties, and built-in scripts associated with a scene.
Maintains a list of resources, nodes, exported and overridden properties, and built-in scripts associated with a scene.
SceneTree
As one of the most important classes, the [SceneTree] manages the hierarchy of nodes in a scene, as well as scenes themselves.
As one of the most important classes, the [SceneTree] manages the hierarchy of nodes in a scene, as well as scenes themselves.
SceneTreeTimer
A one-shot timer managed by the scene tree, which emits [OnTimeout] on completion.
A one-shot timer managed by the scene tree, which emits [OnTimeout] on completion.
Script
A class stored as a resource.
A class stored as a resource.
ScriptBacktrace
[ScriptBacktrace] holds an already captured backtrace of a specific script language, such as GDScript or C#, which are captured using [Engine.CaptureScriptBacktraces].
[ScriptBacktrace] holds an already captured backtrace of a specific script language, such as GDScript or C#, which are captured using [Engine.CaptureScriptBacktraces].
ScriptCreateDialog
The [ScriptCreateDialog] creates script files according to a given template for a given scripting language.
The [ScriptCreateDialog] creates script files according to a given template for a given scripting language.
ScriptEditor
Godot editor's script editor.
Godot editor's script editor.
ScriptEditorBase
Base editor for editing scripts in the [ScriptEditor].
Base editor for editing scripts in the [ScriptEditor].
ScrollBar
Abstract base class for scrollbars, typically used to navigate through content that extends beyond the visible area of a control.
Abstract base class for scrollbars, typically used to navigate through content that extends beyond the visible area of a control.
ScrollContainer
A container used to provide a child control with scrollbars when needed.
A container used to provide a child control with scrollbars when needed.
SegmentShape2D
A 2D line segment shape, intended for use in physics.
A 2D line segment shape, intended for use in physics.
Semaphore
A synchronization semaphore that can be used to synchronize multiple [Thread]s.
A synchronization semaphore that can be used to synchronize multiple [Thread]s.
SeparationRayShape2D
A 2D ray shape, intended for use in physics.
A 2D ray shape, intended for use in physics.
SeparationRayShape3D
A 3D ray shape, intended for use in physics.
A 3D ray shape, intended for use in physics.
Separator
Abstract base class for separators, used for separating other controls.
Abstract base class for separators, used for separating other controls.
Shader
A custom shader program implemented in the Godot shading language, saved with the .gdshader extension.
A custom shader program implemented in the Godot shading language, saved with the .gdshader extension.
ShaderGlobalsOverride
Similar to how a [WorldEnvironment] node can be used to override the environment while a specific scene is loaded, [ShaderGlobalsOverride] can be used to override global shader parameters temporarily.
Similar to how a [WorldEnvironment] node can be used to override the environment while a specific scene is loaded, [ShaderGlobalsOverride] can be used to override global shader parameters temporarily.
ShaderInclude
A shader include file, saved with the .gdshaderinc extension.
A shader include file, saved with the .gdshaderinc extension.
ShaderIncludeDB
This object contains shader fragments from Godot's internal shaders.
This object contains shader fragments from Godot's internal shaders.
ShaderMaterial
A material that uses a custom [Shader] program to render visual items (canvas items, meshes, skies, fog), or to process particles.
A material that uses a custom [Shader] program to render visual items (canvas items, meshes, skies, fog), or to process particles.
Shape2D
Abstract base class for all 2D shapes, intended for use in physics.
Abstract base class for all 2D shapes, intended for use in physics.
Shape3D
Abstract base class for all 3D shapes, intended for use in physics.
Abstract base class for all 3D shapes, intended for use in physics.
ShapeCast2D
Shape casting allows to detect collision objects by sweeping its [Shape] along the cast direction determined by [TargetPosition].
Shape casting allows to detect collision objects by sweeping its [Shape] along the cast direction determined by [TargetPosition].
ShapeCast3D
Shape casting allows to detect collision objects by sweeping its [Shape] along the cast direction determined by [TargetPosition].
Shape casting allows to detect collision objects by sweeping its [Shape] along the cast direction determined by [TargetPosition].
Shortcut
Shortcuts (also known as hotkeys) are containers of [InputEvent] resources.
Shortcuts (also known as hotkeys) are containers of [InputEvent] resources.
Skeleton2D
[Skeleton2D] parents a hierarchy of [Bone2D] nodes.
[Skeleton2D] parents a hierarchy of [Bone2D] nodes.
Skeleton3D
[Skeleton3D] provides an interface for managing a hierarchy of bones, including pose, rest and animation (see [Animation]).
[Skeleton3D] provides an interface for managing a hierarchy of bones, including pose, rest and animation (see [Animation]).
SkeletonIK3D
SkeletonIK3D is used to rotate all bones of a [Skeleton3D] bone chain a way that places the end bone at a desired 3D position.
SkeletonIK3D is used to rotate all bones of a [Skeleton3D] bone chain a way that places the end bone at a desired 3D position.
SkeletonModification2D
This resource provides an interface that can be expanded so code that operates on [Bone2D] nodes in a [Skeleton2D] can be mixed and matched together to create complex interactions.
This resource provides an interface that can be expanded so code that operates on [Bone2D] nodes in a [Skeleton2D] can be mixed and matched together to create complex interactions.
SkeletonModification2DCCDIK
This [SkeletonModification2D] uses an algorithm called Cyclic Coordinate Descent Inverse Kinematics, or CCDIK, to manipulate a chain of bones in a [Skeleton2D] so it reaches a defined target.
This [SkeletonModification2D] uses an algorithm called Cyclic Coordinate Descent Inverse Kinematics, or CCDIK, to manipulate a chain of bones in a [Skeleton2D] so it reaches a defined target.
SkeletonModification2DFABRIK
This [SkeletonModification2D] uses an algorithm called Forward And Backward Reaching Inverse Kinematics, or FABRIK, to rotate a bone chain so that it reaches a target.
This [SkeletonModification2D] uses an algorithm called Forward And Backward Reaching Inverse Kinematics, or FABRIK, to rotate a bone chain so that it reaches a target.
SkeletonModification2DJiggle
This modification moves a series of bones, typically called a bone chain, towards a target.
This modification moves a series of bones, typically called a bone chain, towards a target.
SkeletonModification2DLookAt
This [SkeletonModification2D] rotates a bone to look a target.
This [SkeletonModification2D] rotates a bone to look a target.
SkeletonModification2DPhysicalBones
This modification takes the transforms of [PhysicalBone2D] nodes and applies them to [Bone2D] nodes.
This modification takes the transforms of [PhysicalBone2D] nodes and applies them to [Bone2D] nodes.
SkeletonModification2DStackHolder
This [SkeletonModification2D] holds a reference to a [SkeletonModificationStack2D], allowing you to use multiple modification stacks on a single [Skeleton2D].
This [SkeletonModification2D] holds a reference to a [SkeletonModificationStack2D], allowing you to use multiple modification stacks on a single [Skeleton2D].
SkeletonModification2DTwoBoneIK
This [SkeletonModification2D] uses an algorithm typically called TwoBoneIK.
This [SkeletonModification2D] uses an algorithm typically called TwoBoneIK.
SkeletonModificationStack2D
This resource is used by the Skeleton and holds a stack of [SkeletonModification2D]s.
This resource is used by the Skeleton and holds a stack of [SkeletonModification2D]s.
SkeletonModifier3D
[SkeletonModifier3D] retrieves a target [Skeleton3D] by having a [Skeleton3D] parent.
[SkeletonModifier3D] retrieves a target [Skeleton3D] by having a [Skeleton3D] parent.
SkeletonProfile
This resource is used in [EditorScenePostImport].
This resource is used in [EditorScenePostImport].
SkeletonProfileHumanoid
A [SkeletonProfile] as a preset that is optimized for the human form.
A [SkeletonProfile] as a preset that is optimized for the human form.
SkinReference
An internal object containing a mapping from a [Skin] used within the context of a particular [MeshInstance3D] to refer to the skeleton's [Resource.ID] in the RenderingServer.
An internal object containing a mapping from a [Skin] used within the context of a particular [MeshInstance3D] to refer to the skeleton's [Resource.ID] in the RenderingServer.
Sky
The [Sky] class uses a [Material] to render a 3D environment's background and the light it emits by updating the reflection/radiance cubemaps.
The [Sky] class uses a [Material] to render a 3D environment's background and the light it emits by updating the reflection/radiance cubemaps.
Slider
Abstract base class for sliders, used to adjust a value by moving a grabber along a horizontal or vertical axis.
Abstract base class for sliders, used to adjust a value by moving a grabber along a horizontal or vertical axis.
SliderJoint3D
A physics joint that restricts the movement of a 3D physics body along an axis relative to another physics body.
A physics joint that restricts the movement of a 3D physics body along an axis relative to another physics body.
SoftBody3D
A deformable 3D physics mesh.
A deformable 3D physics mesh.
SphereMesh
Class representing a spherical [PrimitiveMesh].
Class representing a spherical [PrimitiveMesh].
SphereOccluder3D
[SphereOccluder3D] stores a sphere shape that can be used by the engine's occlusion culling system.
[SphereOccluder3D] stores a sphere shape that can be used by the engine's occlusion culling system.
SphereShape3D
A 3D sphere shape, intended for use in physics.
A 3D sphere shape, intended for use in physics.
SpinBox
[SpinBox] is a numerical input text field.
[SpinBox] is a numerical input text field.
SplitContainer
A container that accepts only two child controls, then arranges them horizontally or vertically and creates a divisor between them.
A container that accepts only two child controls, then arranges them horizontally or vertically and creates a divisor between them.
SpotLight3D
A Spotlight is a type of [Light3D] node that emits lights in a specific direction, in the shape of a cone.
A Spotlight is a type of [Light3D] node that emits lights in a specific direction, in the shape of a cone.
SpringArm3D
[SpringArm3D] casts a ray or a shape along its Z axis and moves all its direct children to the collision point, with an optional margin.
[SpringArm3D] casts a ray or a shape along its Z axis and moves all its direct children to the collision point, with an optional margin.
SpringBoneCollision3D
A collision can be a child of [SpringBoneSimulator3D].
A collision can be a child of [SpringBoneSimulator3D].
SpringBoneCollisionCapsule3D
A capsule shape collision that interacts with [SpringBoneSimulator3D].
A capsule shape collision that interacts with [SpringBoneSimulator3D].
SpringBoneCollisionPlane3D
An infinite plane collision that interacts with [SpringBoneSimulator3D].
An infinite plane collision that interacts with [SpringBoneSimulator3D].
SpringBoneCollisionSphere3D
A sphere shape collision that interacts with [SpringBoneSimulator3D].
A sphere shape collision that interacts with [SpringBoneSimulator3D].
SpringBoneSimulator3D
This [SkeletonModifier3D] can be used to wiggle hair, cloth, and tails.
This [SkeletonModifier3D] can be used to wiggle hair, cloth, and tails.
Sprite2D
A node that displays a 2D texture.
A node that displays a 2D texture.
Sprite3D
A node that displays a 2D texture in a 3D environment.
A node that displays a 2D texture in a 3D environment.
SpriteBase3D
A node that displays 2D texture information in a 3D environment.
A node that displays 2D texture information in a 3D environment.
SpriteFrames
Sprite frame library for an [AnimatedSprite2D] or [AnimatedSprite3D] node.
Sprite frame library for an [AnimatedSprite2D] or [AnimatedSprite3D] node.
StandardMaterial3D
[StandardMaterial3D]'s properties are inherited from [BaseMaterial3D].
[StandardMaterial3D]'s properties are inherited from [BaseMaterial3D].
StaticBody2D
A static 2D physics body.
A static 2D physics body.
StaticBody3D
A static 3D physics body.
A static 3D physics body.
StreamPeer
StreamPeer is an abstract base class mostly used for stream-based protocols (such as TCP).
StreamPeer is an abstract base class mostly used for stream-based protocols (such as TCP).
StreamPeerBuffer
A data buffer stream peer that uses a byte array as the stream.
A data buffer stream peer that uses a byte array as the stream.
StreamPeerGZIP
This class allows to compress or decompress data using GZIP/deflate in a streaming fashion.
This class allows to compress or decompress data using GZIP/deflate in a streaming fashion.
StreamPeerTCP
A stream peer that handles TCP connections.
A stream peer that handles TCP connections.
StreamPeerTLS
A stream peer that handles TLS connections.
A stream peer that handles TLS connections.
StyleBox
[StyleBox] is an abstract base class for drawing stylized boxes for UI elements.
[StyleBox] is an abstract base class for drawing stylized boxes for UI elements.
StyleBoxEmpty
An empty [StyleBox] that can be used to display nothing instead of the default style (e.g.
An empty [StyleBox] that can be used to display nothing instead of the default style (e.g.
StyleBoxFlat
By configuring various properties of this style box, you can achieve many common looks without the need of a texture.
By configuring various properties of this style box, you can achieve many common looks without the need of a texture.
StyleBoxLine
A [StyleBox] that displays a single line of a given color and thickness.
A [StyleBox] that displays a single line of a given color and thickness.
StyleBoxTexture
A texture-based nine-patch [StyleBox], in a way similar to [NinePatchRect].
A texture-based nine-patch [StyleBox], in a way similar to [NinePatchRect].
SubViewport
[SubViewport] Isolates a rectangular region of a scene to be displayed independently.
[SubViewport] Isolates a rectangular region of a scene to be displayed independently.
SubViewportContainer
A container that displays the contents of underlying [SubViewport] child nodes.
A container that displays the contents of underlying [SubViewport] child nodes.
SubtweenTweener
[SubtweenTweener] is used to execute a [Tween] as one step in a sequence defined by another [Tween].
[SubtweenTweener] is used to execute a [Tween] as one step in a sequence defined by another [Tween].
SurfaceTool
The [SurfaceTool] is used to construct a [Mesh] by specifying vertex attributes individually.
The [SurfaceTool] is used to construct a [Mesh] by specifying vertex attributes individually.
SyntaxHighlighter
Base class for syntax highlighters.
Base class for syntax highlighters.
SystemFont
[SystemFont] loads a font from a system font with the first matching name from [FontNames].
[SystemFont] loads a font from a system font with the first matching name from [FontNames].
TCPServer
A TCP server.
A TCP server.
TLSOptions
TLSOptions abstracts the configuration options for the [StreamPeerTLS] and [PacketPeerDTLS] classes.
TLSOptions abstracts the configuration options for the [StreamPeerTLS] and [PacketPeerDTLS] classes.
TabBar
A control that provides a horizontal bar with tabs.
A control that provides a horizontal bar with tabs.
TabContainer
Arranges child controls into a tabbed view, creating a tab for each one.
Arranges child controls into a tabbed view, creating a tab for each one.
TextEdit
A multiline text editor.
A multiline text editor.
TextLine
Abstraction over [TextServer] for handling a single line of text.
Abstraction over [TextServer] for handling a single line of text.
TextMesh
Generate a [PrimitiveMesh] from the text.
Generate a [PrimitiveMesh] from the text.
TextParagraph
Abstraction over [TextServer] for handling a single paragraph of text.
Abstraction over [TextServer] for handling a single paragraph of text.
TextServer
[TextServer] is the API backend for managing fonts and rendering text.
[TextServer] is the API backend for managing fonts and rendering text.
TextServerAdvanced
An implementation of [TextServer] that uses HarfBuzz, ICU and SIL Graphite to support BiDi, complex text layouts and contextual OpenType features.
An implementation of [TextServer] that uses HarfBuzz, ICU and SIL Graphite to support BiDi, complex text layouts and contextual OpenType features.
TextServerDummy
A dummy [TextServer] interface that doesn't do anything.
A dummy [TextServer] interface that doesn't do anything.
TextServerExtension
External [TextServer] implementations should inherit from this class.
External [TextServer] implementations should inherit from this class.
TextServerManager
[TextServerManager] is the API backend for loading, enumerating, and switching [TextServer]s.
[TextServerManager] is the API backend for loading, enumerating, and switching [TextServer]s.
Texture
[Texture] is the base class for all texture types.
[Texture] is the base class for all texture types.
Texture2D
A texture works by registering an image in the video hardware, which then can be used in 3D models or 2D [Sprite2D] or GUI [Control].
A texture works by registering an image in the video hardware, which then can be used in 3D models or 2D [Sprite2D] or GUI [Control].
Texture2DArray
A Texture2DArray is different from a Texture3D: The Texture2DArray does not support trilinear interpolation between the [Image]s, i.e.
A Texture2DArray is different from a Texture3D: The Texture2DArray does not support trilinear interpolation between the [Image]s, i.e.
Texture2DArrayRD
This texture array class allows you to use a 2D array texture created directly on the [RenderingDevice] as a texture for materials, meshes, etc.
This texture array class allows you to use a 2D array texture created directly on the [RenderingDevice] as a texture for materials, meshes, etc.
Texture2DRD
This texture class allows you to use a 2D texture created directly on the [RenderingDevice] as a texture for materials, meshes, etc.
This texture class allows you to use a 2D texture created directly on the [RenderingDevice] as a texture for materials, meshes, etc.
Texture3D
Base class for [ImageTexture3D] and [CompressedTexture3D].
Base class for [ImageTexture3D] and [CompressedTexture3D].
Texture3DRD
This texture class allows you to use a 3D texture created directly on the [RenderingDevice] as a texture for materials, meshes, etc.
This texture class allows you to use a 3D texture created directly on the [RenderingDevice] as a texture for materials, meshes, etc.
TextureButton
[TextureButton] has the same functionality as [Button], except it uses sprites instead of Godot's [Theme] resource.
[TextureButton] has the same functionality as [Button], except it uses sprites instead of Godot's [Theme] resource.
TextureCubemapArrayRD
This texture class allows you to use a cubemap array texture created directly on the [RenderingDevice] as a texture for materials, meshes, etc.
This texture class allows you to use a cubemap array texture created directly on the [RenderingDevice] as a texture for materials, meshes, etc.
TextureCubemapRD
This texture class allows you to use a cubemap texture created directly on the [RenderingDevice] as a texture for materials, meshes, etc.
This texture class allows you to use a cubemap texture created directly on the [RenderingDevice] as a texture for materials, meshes, etc.
TextureLayered
Base class for [ImageTextureLayered] and [CompressedTextureLayered].
Base class for [ImageTextureLayered] and [CompressedTextureLayered].
TextureLayeredRD
Base class for [Texture2DArrayRD], [TextureCubemapRD] and [TextureCubemapArrayRD].
Base class for [Texture2DArrayRD], [TextureCubemapRD] and [TextureCubemapArrayRD].
TextureProgressBar
TextureProgressBar works like [ProgressBar], but uses up to 3 textures instead of Godot's [Theme] resource.
TextureProgressBar works like [ProgressBar], but uses up to 3 textures instead of Godot's [Theme] resource.
TextureRect
A control that displays a texture, for example an icon inside a GUI.
A control that displays a texture, for example an icon inside a GUI.
Theme
A resource used for styling/skinning [Control] and [Window] nodes.
A resource used for styling/skinning [Control] and [Window] nodes.
ThemeDB
This singleton provides access to static information about [Theme] resources used by the engine and by your projects.
This singleton provides access to static information about [Theme] resources used by the engine and by your projects.
Thread
A unit of execution in a process.
A unit of execution in a process.
TileData
[TileData] object represents a single tile in a [TileSet].
[TileData] object represents a single tile in a [TileSet].
TileMap
Node for 2D tile-based maps.
Node for 2D tile-based maps.
TileMapLayer
Node for 2D tile-based maps.
Node for 2D tile-based maps.
TileMapPattern
This resource holds a set of cells to help bulk manipulations of [TileMap].
This resource holds a set of cells to help bulk manipulations of [TileMap].
TileSet
A TileSet is a library of tiles for a [TileMapLayer].
A TileSet is a library of tiles for a [TileMapLayer].
TileSetAtlasSource
An atlas is a grid of tiles laid out on a texture.
An atlas is a grid of tiles laid out on a texture.
TileSetScenesCollectionSource
When placed on a [TileMapLayer], tiles from [TileSetScenesCollectionSource] will automatically instantiate an associated scene at the cell's position in the TileMapLayer.
When placed on a [TileMapLayer], tiles from [TileSetScenesCollectionSource] will automatically instantiate an associated scene at the cell's position in the TileMapLayer.
TileSetSource
Exposes a set of tiles for a [TileSet] resource.
Exposes a set of tiles for a [TileSet] resource.
Time
The Time singleton allows converting time between various formats and also getting time information from the system.
The Time singleton allows converting time between various formats and also getting time information from the system.
Timer
The [Timer] node is a countdown timer and is the simplest way to handle time-based logic in the engine.
The [Timer] node is a countdown timer and is the simplest way to handle time-based logic in the engine.
TorusMesh
Class representing a torus [PrimitiveMesh].
Class representing a torus [PrimitiveMesh].
TouchScreenButton
TouchScreenButton allows you to create on-screen buttons for touch devices.
TouchScreenButton allows you to create on-screen buttons for touch devices.
Translation
[Translation]s are resources that can be loaded and unloaded on demand.
[Translation]s are resources that can be loaded and unloaded on demand.
TranslationDomain
[TranslationDomain] is a self-contained collection of [Translation] resources.
[TranslationDomain] is a self-contained collection of [Translation] resources.
TranslationServer
The translation server is the API backend that manages all language translations.
The translation server is the API backend that manages all language translations.
Tree
A control used to show a set of internal [TreeItem]s in a hierarchical structure.
A control used to show a set of internal [TreeItem]s in a hierarchical structure.
TreeItem
A single item of a [Tree] control.
A single item of a [Tree] control.
TriangleMesh
Creates a bounding volume hierarchy (BVH) tree structure around triangle geometry.
Creates a bounding volume hierarchy (BVH) tree structure around triangle geometry.
TubeTrailMesh
[TubeTrailMesh] represents a straight tube-shaped mesh with variable width.
[TubeTrailMesh] represents a straight tube-shaped mesh with variable width.
Tween
Tweens are mostly useful for animations requiring a numerical property to be interpolated over a range of values.
Tweens are mostly useful for animations requiring a numerical property to be interpolated over a range of values.
Tweener
Tweeners are objects that perform a specific animating task, e.g.
Tweeners are objects that perform a specific animating task, e.g.
UDPServer
A simple server that opens a UDP socket and returns connected [PacketPeerUDP] upon receiving new packets.
A simple server that opens a UDP socket and returns connected [PacketPeerUDP] upon receiving new packets.
UPNP
This class can be used to discover compatible [UPNPDevice]s on the local network and execute commands on them, like managing port mappings (for port forwarding/NAT traversal) and querying the local and remote network IP address.
This class can be used to discover compatible [UPNPDevice]s on the local network and execute commands on them, like managing port mappings (for port forwarding/NAT traversal) and querying the local and remote network IP address.
UPNPDevice
Universal Plug and Play (UPnP) device.
Universal Plug and Play (UPnP) device.
UndoRedo
UndoRedo works by registering methods and property changes inside "actions".
UndoRedo works by registering methods and property changes inside "actions".
UniformSetCacheRD
Uniform set cache manager for Rendering Device based renderers.
Uniform set cache manager for Rendering Device based renderers.
VBoxContainer
A variant of [BoxContainer] that can only arrange its child controls vertically.
A variant of [BoxContainer] that can only arrange its child controls vertically.
VFlowContainer
A variant of [FlowContainer] that can only arrange its child controls vertically, wrapping them around at the borders.
A variant of [FlowContainer] that can only arrange its child controls vertically, wrapping them around at the borders.
VScrollBar
A vertical scrollbar, typically used to navigate through content that extends beyond the visible height of a control.
A vertical scrollbar, typically used to navigate through content that extends beyond the visible height of a control.
VSeparator
A vertical separator used for separating other controls that are arranged horizontally.
A vertical separator used for separating other controls that are arranged horizontally.
VSlider
A vertical slider, used to adjust a value by moving a grabber along a vertical axis.
A vertical slider, used to adjust a value by moving a grabber along a vertical axis.
VSplitContainer
A container that accepts only two child controls, then arranges them vertically and creates a divisor between them.
A container that accepts only two child controls, then arranges them vertically and creates a divisor between them.
VehicleBody3D
This physics body implements all the physics logic needed to simulate a car.
This physics body implements all the physics logic needed to simulate a car.
VehicleWheel3D
A node used as a child of a [VehicleBody3D] parent to simulate the behavior of one of its wheels.
A node used as a child of a [VehicleBody3D] parent to simulate the behavior of one of its wheels.
VideoStream
Base resource type for all video streams.
Base resource type for all video streams.
VideoStreamPlayback
This class is intended to be overridden by video decoder extensions with custom implementations of [VideoStream].
This class is intended to be overridden by video decoder extensions with custom implementations of [VideoStream].
VideoStreamPlayer
A control used for playback of [VideoStream] resources.
A control used for playback of [VideoStream] resources.
VideoStreamTheora
[VideoStream] resource handling the [Ogg Theora] video format with .ogv extension.
[VideoStream] resource handling the [Ogg Theora] video format with .ogv extension.
Viewport
A [Viewport] creates a different view into the screen, or a sub-view inside another viewport.
A [Viewport] creates a different view into the screen, or a sub-view inside another viewport.
ViewportTexture
A [ViewportTexture] provides the content of a [Viewport] as a dynamic [Texture2D].
A [ViewportTexture] provides the content of a [Viewport] as a dynamic [Texture2D].
VisibleOnScreenEnabler2D
[VisibleOnScreenEnabler2D] contains a rectangular region of 2D space and a target node.
[VisibleOnScreenEnabler2D] contains a rectangular region of 2D space and a target node.
VisibleOnScreenEnabler3D
[VisibleOnScreenEnabler3D] contains a box-shaped region of 3D space and a target node.
[VisibleOnScreenEnabler3D] contains a box-shaped region of 3D space and a target node.
VisibleOnScreenNotifier2D
[VisibleOnScreenNotifier2D] represents a rectangular region of 2D space.
[VisibleOnScreenNotifier2D] represents a rectangular region of 2D space.
VisibleOnScreenNotifier3D
[VisibleOnScreenNotifier3D] represents a box-shaped region of 3D space.
[VisibleOnScreenNotifier3D] represents a box-shaped region of 3D space.
VisualInstance3D
The [VisualInstance3D] is used to connect a resource to a visual representation.
The [VisualInstance3D] is used to connect a resource to a visual representation.
VisualShader
This class provides a graph-like visual editor for creating a [Shader].
This class provides a graph-like visual editor for creating a [Shader].
VisualShaderNode
Visual shader graphs consist of various nodes.
Visual shader graphs consist of various nodes.
VisualShaderNodeBillboard
The output port of this node needs to be connected to Model View Matrix port of [VisualShaderNodeOutput].
The output port of this node needs to be connected to Model View Matrix port of [VisualShaderNodeOutput].
VisualShaderNodeBooleanConstant
Has only one output port and no inputs.
Has only one output port and no inputs.
VisualShaderNodeBooleanParameter
Translated to uniform bool in the shader language.
Translated to uniform bool in the shader language.
VisualShaderNodeClamp
Constrains a value to lie between min and max values.
Constrains a value to lie between min and max values.
VisualShaderNodeColorConstant
Has two output ports representing RGB and alpha channels of [Color.RGBA].
Has two output ports representing RGB and alpha channels of [Color.RGBA].
VisualShaderNodeColorFunc
Accept a [Color.RGBA] to the input port and transform it according to Function.
Accept a [Color.RGBA] to the input port and transform it according to Function.
VisualShaderNodeColorOp
Applies Operator to two color inputs.
Applies Operator to two color inputs.
VisualShaderNodeColorParameter
Translated to uniform vec4 in the shader language.
Translated to uniform vec4 in the shader language.
VisualShaderNodeComment
This node was replaced by [VisualShaderNodeFrame] and only exists to preserve compatibility.
This node was replaced by [VisualShaderNodeFrame] and only exists to preserve compatibility.
VisualShaderNodeCompare
Compares a and b of [Type] by Function.
Compares a and b of [Type] by Function.
VisualShaderNodeConstant
This is an abstract class.
This is an abstract class.
VisualShaderNodeCubemap
Translated to texture(cubemap, vec3) in the shader language.
Translated to texture(cubemap, vec3) in the shader language.
VisualShaderNodeCubemapParameter
Translated to uniform samplerCube in the shader language.
Translated to uniform samplerCube in the shader language.
VisualShaderNodeCurveTexture
Comes with a built-in editor for texture's curves.
Comes with a built-in editor for texture's curves.
VisualShaderNodeCurveXYZTexture
Comes with a built-in editor for texture's curves.
Comes with a built-in editor for texture's curves.
VisualShaderNodeCustom
By inheriting this class you can create a custom [VisualShader] script addon which will be automatically added to the Visual Shader Editor.
By inheriting this class you can create a custom [VisualShader] script addon which will be automatically added to the Visual Shader Editor.
VisualShaderNodeDerivativeFunc
This node is only available in Fragment and Light visual shaders.
This node is only available in Fragment and Light visual shaders.
VisualShaderNodeDeterminant
Translates to determinant(x) in the shader language.
Translates to determinant(x) in the shader language.
VisualShaderNodeDistanceFade
The distance fade effect fades out each pixel based on its distance to another object.
The distance fade effect fades out each pixel based on its distance to another object.
VisualShaderNodeDotProduct
Translates to dot(a, b) in the shader language.
Translates to dot(a, b) in the shader language.
VisualShaderNodeExpression
Custom Godot Shading Language expression, with a custom number of input and output ports.
Custom Godot Shading Language expression, with a custom number of input and output ports.
VisualShaderNodeFaceForward
Translates to faceforward(N, I, Nref) in the shader language.
Translates to faceforward(N, I, Nref) in the shader language.
VisualShaderNodeFloatConstant
Translated to float in the shader language.
Translated to float in the shader language.
VisualShaderNodeFloatFunc
Accept a floating-point scalar (x) to the input port and transform it according to Function.
Accept a floating-point scalar (x) to the input port and transform it according to Function.
VisualShaderNodeFloatOp
Applies Operator to two floating-point inputs: a and b.
Applies Operator to two floating-point inputs: a and b.
VisualShaderNodeFloatParameter
Translated to uniform float in the shader language.
Translated to uniform float in the shader language.
VisualShaderNodeFrame
A rectangular frame that can be used to group visual shader nodes together to improve organization.
A rectangular frame that can be used to group visual shader nodes together to improve organization.
VisualShaderNodeFresnel
Returns falloff based on the dot product of surface normal and view direction of camera (pass associated inputs to it).
Returns falloff based on the dot product of surface normal and view direction of camera (pass associated inputs to it).
VisualShaderNodeGlobalExpression
Custom Godot Shader Language expression, which is placed on top of the generated shader.
Custom Godot Shader Language expression, which is placed on top of the generated shader.
VisualShaderNodeGroupBase
Currently, has no direct usage, use the derived classes instead.
Currently, has no direct usage, use the derived classes instead.
VisualShaderNodeIf
This visual shader node has six input ports:
This visual shader node has six input ports:
VisualShaderNodeInput
Gives access to input variables (built-ins) available for the shader.
Gives access to input variables (built-ins) available for the shader.
VisualShaderNodeIntConstant
Translated to int in the shader language.
Translated to int in the shader language.
VisualShaderNodeIntFunc
Accept an integer scalar (x) to the input port and transform it according to Function.
Accept an integer scalar (x) to the input port and transform it according to Function.
VisualShaderNodeIntOp
Applies Operator to two integer inputs: a and b.
Applies Operator to two integer inputs: a and b.
VisualShaderNodeIntParameter
A [VisualShaderNodeParameter] of type int.
A [VisualShaderNodeParameter] of type int.
VisualShaderNodeIs
Returns the boolean result of the comparison between INF or NaN and a scalar parameter.
Returns the boolean result of the comparison between INF or NaN and a scalar parameter.
VisualShaderNodeLinearSceneDepth
This node can be used in fragment shaders.
This node can be used in fragment shaders.
VisualShaderNodeMix
Translates to mix(a, b, weight) in the shader language.
Translates to mix(a, b, weight) in the shader language.
VisualShaderNodeMultiplyAdd
Uses three operands to compute (a * b + c) expression.
Uses three operands to compute (a * b + c) expression.
VisualShaderNodeOuterProduct
OuterProduct treats the first parameter c as a column vector (matrix with one column) and the second parameter r as a row vector (matrix with one row) and does a linear algebraic matrix multiply c * r, yielding a matrix whose number of rows is the number of components in c and whose number of columns is the number of components in r.
OuterProduct treats the first parameter c as a column vector (matrix with one column) and the second parameter r as a row vector (matrix with one row) and does a linear algebraic matrix multiply c * r, yielding a matrix whose number of rows is the number of components in c and whose number of columns is the number of components in r.
VisualShaderNodeOutput
This visual shader node is present in all shader graphs in form of "Output" block with multiple output value ports.
This visual shader node is present in all shader graphs in form of "Output" block with multiple output value ports.
VisualShaderNodeParameter
A parameter represents a variable in the shader which is set externally, i.e.
A parameter represents a variable in the shader which is set externally, i.e.
VisualShaderNodeParameterRef
Creating a reference to a [VisualShaderNodeParameter] allows you to reuse this parameter in different shaders or shader stages easily.
Creating a reference to a [VisualShaderNodeParameter] allows you to reuse this parameter in different shaders or shader stages easily.
VisualShaderNodeParticleAccelerator
Particle accelerator can be used in "process" step of particle shader.
Particle accelerator can be used in "process" step of particle shader.
VisualShaderNodeParticleBoxEmitter
[VisualShaderNodeParticleEmitter] that makes the particles emitted in box shape with the specified extents.
[VisualShaderNodeParticleEmitter] that makes the particles emitted in box shape with the specified extents.
VisualShaderNodeParticleConeVelocity
This node can be used in "start" step of particle shader.
This node can be used in "start" step of particle shader.
VisualShaderNodeParticleEmit
This node internally calls emit_subparticle shader method.
This node internally calls emit_subparticle shader method.
VisualShaderNodeParticleEmitter
Particle emitter nodes can be used in "start" step of particle shaders and they define the starting position of the particles.
Particle emitter nodes can be used in "start" step of particle shaders and they define the starting position of the particles.
VisualShaderNodeParticleMeshEmitter
[VisualShaderNodeParticleEmitter] that makes the particles emitted in a shape of the assigned [Mesh].
[VisualShaderNodeParticleEmitter] that makes the particles emitted in a shape of the assigned [Mesh].
VisualShaderNodeParticleMultiplyByAxisAngle
This node helps to multiply a position input vector by rotation using specific axis.
This node helps to multiply a position input vector by rotation using specific axis.
VisualShaderNodeParticleOutput
This node defines how particles are emitted.
This node defines how particles are emitted.
VisualShaderNodeParticleRandomness
Randomness node will output pseudo-random values of the given type based on the specified minimum and maximum values.
Randomness node will output pseudo-random values of the given type based on the specified minimum and maximum values.
VisualShaderNodeParticleRingEmitter
[VisualShaderNodeParticleEmitter] that makes the particles emitted in ring shape with the specified inner and outer radii and height.
[VisualShaderNodeParticleEmitter] that makes the particles emitted in ring shape with the specified inner and outer radii and height.
VisualShaderNodeParticleSphereEmitter
[VisualShaderNodeParticleEmitter] that makes the particles emitted in sphere shape with the specified inner and outer radii.
[VisualShaderNodeParticleEmitter] that makes the particles emitted in sphere shape with the specified inner and outer radii.
VisualShaderNodeProximityFade
The proximity fade effect fades out each pixel based on its distance to another object.
The proximity fade effect fades out each pixel based on its distance to another object.
VisualShaderNodeRandomRange
Random range node will output a pseudo-random scalar value in the specified range, based on the seed.
Random range node will output a pseudo-random scalar value in the specified range, based on the seed.
VisualShaderNodeRemap
Remap will transform the input range into output range, e.g.
Remap will transform the input range into output range, e.g.
VisualShaderNodeReroute
Automatically adapts its port type to the type of the incoming connection and ensures valid connections.
Automatically adapts its port type to the type of the incoming connection and ensures valid connections.
VisualShaderNodeResizableBase
Resizable nodes have a handle that allows the user to adjust their size as needed.
Resizable nodes have a handle that allows the user to adjust their size as needed.
VisualShaderNodeRotationByAxis
RotationByAxis node will transform the vertices of a mesh with specified axis and angle in radians.
RotationByAxis node will transform the vertices of a mesh with specified axis and angle in radians.
VisualShaderNodeSDFRaymarch
Casts a ray against the screen SDF (signed-distance field) and returns the distance travelled.
Casts a ray against the screen SDF (signed-distance field) and returns the distance travelled.
VisualShaderNodeSDFToScreenUV
Translates to sdf_to_screen_uv(sdf_pos) in the shader language.
Translates to sdf_to_screen_uv(sdf_pos) in the shader language.
VisualShaderNodeSample3D
A virtual class, use the descendants instead.
A virtual class, use the descendants instead.
VisualShaderNodeScreenNormalWorldSpace
The ScreenNormalWorldSpace node allows to create outline effects.
The ScreenNormalWorldSpace node allows to create outline effects.
VisualShaderNodeScreenUVToSDF
Translates to screen_uv_to_sdf(uv) in the shader language.
Translates to screen_uv_to_sdf(uv) in the shader language.
VisualShaderNodeSmoothStep
Translates to smoothstep(edge0, edge1, x) in the shader language.
Translates to smoothstep(edge0, edge1, x) in the shader language.
VisualShaderNodeStep
Translates to step(edge, x) in the shader language.
Translates to step(edge, x) in the shader language.
VisualShaderNodeSwitch
Returns an associated value of the OpType type if the provided boolean value is true or false.
Returns an associated value of the OpType type if the provided boolean value is true or false.
VisualShaderNodeTexture
Performs a lookup operation on the provided texture, with support for multiple texture sources to choose from.
Performs a lookup operation on the provided texture, with support for multiple texture sources to choose from.
VisualShaderNodeTexture2DArray
Translated to uniform sampler2DArray in the shader language.
Translated to uniform sampler2DArray in the shader language.
VisualShaderNodeTexture2DArrayParameter
This parameter allows to provide a collection of textures for the shader.
This parameter allows to provide a collection of textures for the shader.
VisualShaderNodeTexture2DParameter
Translated to uniform sampler2D in the shader language.
Translated to uniform sampler2D in the shader language.
VisualShaderNodeTexture3D
Performs a lookup operation on the provided texture, with support for multiple texture sources to choose from.
Performs a lookup operation on the provided texture, with support for multiple texture sources to choose from.
VisualShaderNodeTexture3DParameter
Translated to uniform sampler3D in the shader language.
Translated to uniform sampler3D in the shader language.
VisualShaderNodeTextureParameter
Performs a lookup operation on the texture provided as a uniform for the shader.
Performs a lookup operation on the texture provided as a uniform for the shader.
VisualShaderNodeTextureParameterTriplanar
Performs a lookup operation on the texture provided as a uniform for the shader, with support for triplanar mapping.
Performs a lookup operation on the texture provided as a uniform for the shader, with support for triplanar mapping.
VisualShaderNodeTextureSDF
Translates to texture_sdf(sdf_pos) in the shader language.
Translates to texture_sdf(sdf_pos) in the shader language.
VisualShaderNodeTextureSDFNormal
Translates to texture_sdf_normal(sdf_pos) in the shader language.
Translates to texture_sdf_normal(sdf_pos) in the shader language.
VisualShaderNodeTransformCompose
Creates a 4×4 transform matrix using four vectors of type vec3.
Creates a 4×4 transform matrix using four vectors of type vec3.
VisualShaderNodeTransformConstant
A constant [Transform3D.BasisOrigin], which can be used as an input node.
A constant [Transform3D.BasisOrigin], which can be used as an input node.
VisualShaderNodeTransformDecompose
Takes a 4×4 transform matrix and decomposes it into four vec3 values, one from each row of the matrix.
Takes a 4×4 transform matrix and decomposes it into four vec3 values, one from each row of the matrix.
VisualShaderNodeTransformFunc
Computes an inverse or transpose function on the provided [Transform3D.BasisOrigin].
Computes an inverse or transpose function on the provided [Transform3D.BasisOrigin].
VisualShaderNodeTransformOp
Applies Operator to two transform (4×4 matrices) inputs.
Applies Operator to two transform (4×4 matrices) inputs.
VisualShaderNodeTransformParameter
Translated to uniform mat4 in the shader language.
Translated to uniform mat4 in the shader language.
VisualShaderNodeTransformVecMult
A multiplication operation on a transform (4×4 matrix) and a vector, with support for different multiplication operators.
A multiplication operation on a transform (4×4 matrix) and a vector, with support for different multiplication operators.
VisualShaderNodeUIntConstant
Translated to uint in the shader language.
Translated to uint in the shader language.
VisualShaderNodeUIntFunc
Accept an unsigned integer scalar (x) to the input port and transform it according to Function.
Accept an unsigned integer scalar (x) to the input port and transform it according to Function.
VisualShaderNodeUIntOp
Applies Operator to two unsigned integer inputs: a and b.
Applies Operator to two unsigned integer inputs: a and b.
VisualShaderNodeUIntParameter
A [VisualShaderNodeParameter] of type unsigned int.
A [VisualShaderNodeParameter] of type unsigned int.
VisualShaderNodeUVFunc
UV functions are similar to [Vector2.XY] functions, but the input port of this node uses the shader's UV value by default.
UV functions are similar to [Vector2.XY] functions, but the input port of this node uses the shader's UV value by default.
VisualShaderNodeUVPolarCoord
UV polar coord node will transform UV values into polar coordinates, with specified scale, zoom strength and repeat parameters.
UV polar coord node will transform UV values into polar coordinates, with specified scale, zoom strength and repeat parameters.
VisualShaderNodeVarying
Varying values are shader variables that can be passed between shader functions, e.g.
Varying values are shader variables that can be passed between shader functions, e.g.
VisualShaderNodeVaryingGetter
Outputs a value of a varying defined in the shader.
Outputs a value of a varying defined in the shader.
VisualShaderNodeVaryingSetter
Inputs a value to a varying defined in the shader.
Inputs a value to a varying defined in the shader.
VisualShaderNodeVec2Constant
A constant [Vector2.XY], which can be used as an input node.
A constant [Vector2.XY], which can be used as an input node.
VisualShaderNodeVec2Parameter
Translated to uniform vec2 in the shader language.
Translated to uniform vec2 in the shader language.
VisualShaderNodeVec3Constant
A constant [Vector3.XYZ], which can be used as an input node.
A constant [Vector3.XYZ], which can be used as an input node.
VisualShaderNodeVec3Parameter
Translated to uniform vec3 in the shader language.
Translated to uniform vec3 in the shader language.
VisualShaderNodeVec4Constant
A constant 4D vector, which can be used as an input node.
A constant 4D vector, which can be used as an input node.
VisualShaderNodeVec4Parameter
Translated to uniform vec4 in the shader language.
Translated to uniform vec4 in the shader language.
VisualShaderNodeVectorBase
This is an abstract class.
This is an abstract class.
VisualShaderNodeVectorCompose
Creates a vec2, vec3 or vec4 using scalar values that can be provided from separate inputs.
Creates a vec2, vec3 or vec4 using scalar values that can be provided from separate inputs.
VisualShaderNodeVectorDecompose
Takes a vec2, vec3 or vec4 and decomposes it into scalar values that can be used as separate outputs.
Takes a vec2, vec3 or vec4 and decomposes it into scalar values that can be used as separate outputs.
VisualShaderNodeVectorDistance
Calculates distance from point represented by vector p0 to vector p1.
Calculates distance from point represented by vector p0 to vector p1.
VisualShaderNodeVectorFunc
A visual shader node able to perform different functions using vectors.
A visual shader node able to perform different functions using vectors.
VisualShaderNodeVectorLen
Translated to length(p0) in the shader language.
Translated to length(p0) in the shader language.
VisualShaderNodeVectorOp
A visual shader node for use of vector operators.
A visual shader node for use of vector operators.
VisualShaderNodeVectorRefract
Translated to refract(I, N, eta) in the shader language, where I is the incident vector, N is the normal vector and eta is the ratio of the indices of the refraction.
Translated to refract(I, N, eta) in the shader language, where I is the incident vector, N is the normal vector and eta is the ratio of the indices of the refraction.
VisualShaderNodeWorldPositionFromDepth
The WorldPositionFromDepth node reconstructs the depth position of the pixel in world space.
The WorldPositionFromDepth node reconstructs the depth position of the pixel in world space.
VoxelGI
[VoxelGI]s are used to provide high-quality real-time indirect light and reflections to scenes.
[VoxelGI]s are used to provide high-quality real-time indirect light and reflections to scenes.
VoxelGIData
[VoxelGIData] contains baked voxel global illumination for use in a [VoxelGI] node.
[VoxelGIData] contains baked voxel global illumination for use in a [VoxelGI] node.
WeakRef
A weakref can hold a [RefCounted] without contributing to the reference counter.
A weakref can hold a [RefCounted] without contributing to the reference counter.
WebRTCMultiplayerPeer
This class constructs a full mesh of [WebRTCPeerConnection] (one connection for each peer) that can be used as a [MultiplayerAPI.MultiplayerPeer].
This class constructs a full mesh of [WebRTCPeerConnection] (one connection for each peer) that can be used as a [MultiplayerAPI.MultiplayerPeer].
WebRTCPeerConnection
A WebRTC connection between the local computer and a remote peer.
A WebRTC connection between the local computer and a remote peer.
WebSocketMultiplayerPeer
Base class for WebSocket server and client, allowing them to be used as multiplayer peer for the [MultiplayerAPI].
Base class for WebSocket server and client, allowing them to be used as multiplayer peer for the [MultiplayerAPI].
WebSocketPeer
This class represents WebSocket connection, and can be used as a WebSocket client (RFC 6455-compliant) or as a remote peer of a WebSocket server.
This class represents WebSocket connection, and can be used as a WebSocket client (RFC 6455-compliant) or as a remote peer of a WebSocket server.
WebXRInterface
WebXR is an open standard that allows creating VR and AR applications that run in the web browser.
WebXR is an open standard that allows creating VR and AR applications that run in the web browser.
Window
A node that creates a window.
A node that creates a window.
WorkerThreadPool
The [WorkerThreadPool] singleton allocates a set of [Thread]s (called worker threads) on project startup and provides methods for offloading tasks to them.
The [WorkerThreadPool] singleton allocates a set of [Thread]s (called worker threads) on project startup and provides methods for offloading tasks to them.
World2D
Class that has everything pertaining to a 2D world: A physics space, a canvas, and a sound space.
Class that has everything pertaining to a 2D world: A physics space, a canvas, and a sound space.
World3D
Class that has everything pertaining to a world: A physics space, a visual scenario, and a sound space.
Class that has everything pertaining to a world: A physics space, a visual scenario, and a sound space.
WorldBoundaryShape2D
A 2D world boundary shape, intended for use in physics.
A 2D world boundary shape, intended for use in physics.
WorldBoundaryShape3D
A 3D world boundary shape, intended for use in physics.
A 3D world boundary shape, intended for use in physics.
WorldEnvironment
The [WorldEnvironment] node is used to configure the default [Environment] for the scene.
The [WorldEnvironment] node is used to configure the default [Environment] for the scene.
X509Certificate
The X509Certificate class represents an X509 certificate.
The X509Certificate class represents an X509 certificate.
XMLParser
Provides a low-level interface for creating parsers for [XML] files.
Provides a low-level interface for creating parsers for [XML] files.
XRAnchor3D
The [XRAnchor3D] point is an [XRNode3D] that maps a real world location identified by the AR platform to a position within the game world.
The [XRAnchor3D] point is an [XRNode3D] that maps a real world location identified by the AR platform to a position within the game world.
XRBodyModifier3D
This node uses body tracking data from an [XRBodyTracker] to pose the skeleton of a body mesh.
This node uses body tracking data from an [XRBodyTracker] to pose the skeleton of a body mesh.
XRBodyTracker
A body tracking system will create an instance of this object and add it to the [XRServer].
A body tracking system will create an instance of this object and add it to the [XRServer].
XRCamera3D
This is a helper 3D node for our camera.
This is a helper 3D node for our camera.
XRController3D
This is a helper 3D node that is linked to the tracking of controllers.
This is a helper 3D node that is linked to the tracking of controllers.
XRControllerTracker
An instance of this object represents a controller that is tracked.
An instance of this object represents a controller that is tracked.
XRFaceModifier3D
This node applies weights from an [XRFaceTracker] to a mesh with supporting face blend shapes.
This node applies weights from an [XRFaceTracker] to a mesh with supporting face blend shapes.
XRFaceTracker
An instance of this object represents a tracked face and its corresponding blend shapes.
An instance of this object represents a tracked face and its corresponding blend shapes.
XRHandModifier3D
This node uses hand tracking data from an [XRHandTracker] to pose the skeleton of a hand mesh.
This node uses hand tracking data from an [XRHandTracker] to pose the skeleton of a hand mesh.
XRHandTracker
A hand tracking system will create an instance of this object and add it to the [XRServer].
A hand tracking system will create an instance of this object and add it to the [XRServer].
XRInterface
This class needs to be implemented to make an AR or VR platform available to Godot and these should be implemented as C++ modules or GDExtension modules.
This class needs to be implemented to make an AR or VR platform available to Godot and these should be implemented as C++ modules or GDExtension modules.
XRInterfaceExtension
External XR interface plugins should inherit from this class.
External XR interface plugins should inherit from this class.
XRNode3D
This node can be bound to a specific pose of an [XRPositionalTracker] and will automatically have its [Node3D.Transform] updated by the [XRServer].
This node can be bound to a specific pose of an [XRPositionalTracker] and will automatically have its [Node3D.Transform] updated by the [XRServer].
XROrigin3D
This is a special node within the AR/VR system that maps the physical location of the center of our tracking space to the virtual location within our game world.
This is a special node within the AR/VR system that maps the physical location of the center of our tracking space to the virtual location within our game world.
XRPose
XR runtimes often identify multiple locations on devices such as controllers that are spatially tracked.
XR runtimes often identify multiple locations on devices such as controllers that are spatially tracked.
XRPositionalTracker
An instance of this object represents a device that is tracked, such as a controller or anchor point.
An instance of this object represents a device that is tracked, such as a controller or anchor point.
XRServer
The AR/VR server is the heart of our Advanced and Virtual Reality solution and handles all the processing.
The AR/VR server is the heart of our Advanced and Virtual Reality solution and handles all the processing.
XRTracker
This object is the base of all XR trackers.
This object is the base of all XR trackers.
XRVRS
This class is used by various XR interfaces to generate VRS textures that can be used to speed up rendering.
This class is used by various XR interfaces to generate VRS textures that can be used to speed up rendering.
ZIPPacker
This class implements a writer that allows storing the multiple blobs in a ZIP archive.
This class implements a writer that allows storing the multiple blobs in a ZIP archive.
ZIPReader
This class implements a reader that can extract the content of individual files inside a ZIP archive.
This class implements a reader that can extract the content of individual files inside a ZIP archive.
cmd
gd command
The 'gd' command is designed as a drop-in replacement of the 'go' command when working with Godot-based projects.
The 'gd' command is designed as a drop-in replacement of the 'go' command when working with Godot-based projects.
gd/internal/refactor/eg
Package eg implements the example-based refactoring tool whose command-line is defined in golang.org/x/tools/cmd/eg.
Package eg implements the example-based refactoring tool whose command-line is defined in golang.org/x/tools/cmd/eg.
Code generated by the generate package DO NOT EDIT
Code generated by the generate package DO NOT EDIT
gdclass
Code generated by the generate package DO NOT EDIT
Code generated by the generate package DO NOT EDIT
gddocs command
[gdscript] var code_preview = TextEdit.new() var highlighter = GDScriptSyntaxHighlighter.new() code_preview.syntax_highlighter = highlighter [/gdscript] [csharp] var codePreview = new TextEdit(); var highlighter = new GDScriptSyntaxHighlighter(); codePreview.SyntaxHighlighter = highlighter; [/csharp]
[gdscript] var code_preview = TextEdit.new() var highlighter = GDScriptSyntaxHighlighter.new() code_preview.syntax_highlighter = highlighter [/gdscript] [csharp] var codePreview = new TextEdit(); var highlighter = new GDScriptSyntaxHighlighter(); codePreview.SyntaxHighlighter = highlighter; [/csharp]
gdextension
Package gdextension is the graphics.gd authorative Go representation of the Godot C GDExtension API.
Package gdextension is the graphics.gd authorative Go representation of the Godot C GDExtension API.
gdmemory
Package gdmemory provides functions for transferring data between Go and the graphics engine.
Package gdmemory provides functions for transferring data between Go and the graphics engine.
loosely
Package loosely provides loose any-to-any type conversions with support for all variant types.
Package loosely provides loose any-to-any type conversions with support for all variant types.
pointers
Package pointers provides managed pointers that are invisible to the Go runtime.
Package pointers provides managed pointers that are invisible to the Go runtime.
tool/builtins command
builtins checks gdmaths and gdvalue packages for builtin class methods and reports any builtin methods that are missing from gd or any duplicates.
builtins checks gdmaths and gdvalue packages for builtin class methods and reports any builtin methods that are missing from gd or any duplicates.
tool/callables command
tool/constants command
tool/distinctor command
tool/enumerate command
tool/generate command
tool/lifetimer command
tool/nocircle command
tool/transdoc command
Package shaders provides a ShaderMaterial.Instance with the shader pipeline written within Go.
Package shaders provides a ShaderMaterial.Instance with the shader pipeline written within Go.
bool
Package bool provides GPU operations on boolean values.
Package bool provides GPU operations on boolean values.
bvec2
Pacakge bvec2 provides GPU operations on two-component boolean vectors.
Pacakge bvec2 provides GPU operations on two-component boolean vectors.
bvec3
Pacakge bvec3 provides GPU operations on three-component boolean vectors.
Pacakge bvec3 provides GPU operations on three-component boolean vectors.
bvec4
Pacakge bvec4 provides GPU operations on four-component boolean vectors.
Pacakge bvec4 provides GPU operations on four-component boolean vectors.
float
Package float provides GPU operations on floating-point values.
Package float provides GPU operations on floating-point values.
int
Package int provides GPU operations on signed integer values.
Package int provides GPU operations on signed integer values.
internal/builtins command
builtins checks gdmaths and gdvalue packages for builtin class methods and reports any builtin methods that are missing from gd or any duplicates.
builtins checks gdmaths and gdvalue packages for builtin class methods and reports any builtin methods that are missing from gd or any duplicates.
ivec2
Package ivec2 provides GPU operations on two-component signed integer vectors.
Package ivec2 provides GPU operations on two-component signed integer vectors.
ivec3
Package ivec3 provides GPU operations on three-component signed integer vectors.
Package ivec3 provides GPU operations on three-component signed integer vectors.
ivec4
Package ivec4 provides GPU operations on four-component signed integer vectors.
Package ivec4 provides GPU operations on four-component signed integer vectors.
mat2
Package mat2 provides GPU operations on 2x2 matrices.
Package mat2 provides GPU operations on 2x2 matrices.
mat3
Package mat3 provides GPU operations on 3x3 matrices.
Package mat3 provides GPU operations on 3x3 matrices.
mat4
Package mat4 provides GPU operations on 4x4 matrices.
Package mat4 provides GPU operations on 4x4 matrices.
pipeline/CanvasItem
Package CanvasItem provides a canvas item shader pipeline used for shading 2D objects.
Package CanvasItem provides a canvas item shader pipeline used for shading 2D objects.
pipeline/Fog
Package Fog provides a fog shader pipeline used for shading 3D objects.
Package Fog provides a fog shader pipeline used for shading 3D objects.
pipeline/Particle
Package Particle provides a particle shader pipeline used for shading 2D and 3D particles.
Package Particle provides a particle shader pipeline used for shading 2D and 3D particles.
pipeline/Sky
Package Sky provides a sky shader pipeline used for shading 3D objects.
Package Sky provides a sky shader pipeline used for shading 3D objects.
pipeline/Spatial
Package Spatial provides the spatial shader pipeline used for shading 3D objects.
Package Spatial provides the spatial shader pipeline used for shading 3D objects.
rgb
Package rgb provides GPU operations on three-component floating-point colors.
Package rgb provides GPU operations on three-component floating-point colors.
rgba
Package rgba provides a constructor for vec4.RGBA values.
Package rgba provides a constructor for vec4.RGBA values.
uint
Package uint provides GPU operations on unsigned integer values.
Package uint provides GPU operations on unsigned integer values.
uvec2
Package uvec2 provides GPU operations on two-component unsigned integer vectors.
Package uvec2 provides GPU operations on two-component unsigned integer vectors.
uvec3
Package uvec3 provides GPU operations on three-component unsigned integer vectors.
Package uvec3 provides GPU operations on three-component unsigned integer vectors.
uvec4
Package uvec4 provides GPU operations on four-component unsigned integer vectors.
Package uvec4 provides GPU operations on four-component unsigned integer vectors.
vec2
Package vec2 provides GPU operations on two-component floating-point vectors.
Package vec2 provides GPU operations on two-component floating-point vectors.
vec3
Package vec3 provides GPU operations on three-component floating-point vectors.
Package vec3 provides GPU operations on three-component floating-point vectors.
vec4
Package vec4 provides GPU operations on four-component floating-point vectors.
Package vec4 provides GPU operations on four-component floating-point vectors.
Package startup provides a runtime for connecting to the graphics engine.
Package startup provides a runtime for connecting to the graphics engine.
AABB
Package AABB provides a 3D axis-aligned bounding box.
Package AABB provides a 3D axis-aligned bounding box.
Array
Package Array provides a data structure that holds a sequence of elements.
Package Array provides a data structure that holds a sequence of elements.
Basis
Package Basis is a 3×3 matrix for representing 3D rotation and scale.
Package Basis is a 3×3 matrix for representing 3D rotation and scale.
Callable
Package Callable provides generic methods for working with callable functions.
Package Callable provides generic methods for working with callable functions.
Color
Package Color provides a color represented in RGBA format.
Package Color provides a color represented in RGBA format.
Dictionary
Package Dictionary provides a data structure that holds key-value pairs.
Package Dictionary provides a data structure that holds key-value pairs.
Enum
Package Enum provides a way to define enums.
Package Enum provides a way to define enums.
Error
Package Error provides generic or codes for use as error return values that do not allocate.
Package Error provides generic or codes for use as error return values that do not allocate.
Euler
Package Euler provides euler angle types for representing 3D rotations.
Package Euler provides euler angle types for representing 3D rotations.
Float
Package Float provides a generic math library for floating-point numbers.
Package Float provides a generic math library for floating-point numbers.
Int
Package Int provides generic methods for working with integers.
Package Int provides generic methods for working with integers.
Object
Package Object provides methods for working with Object instances.
Package Object provides methods for working with Object instances.
Packed
Package Packed contains specific Array types that are more efficient and convenient to work with.
Package Packed contains specific Array types that are more efficient and convenient to work with.
Path
Package path provides methods and a type for working with slash-separated paths with selectors.
Package path provides methods and a type for working with slash-separated paths with selectors.
Plane
Package Plane provides a plane in Hessian normal form.
Package Plane provides a plane in Hessian normal form.
Projection
Package Projection provides a 4×4 matrix for 3D projective transformations.
Package Projection provides a 4×4 matrix for 3D projective transformations.
Quaternion
Package Quaternion provides a unit quaternion used for representing 3D rotations.
Package Quaternion provides a unit quaternion used for representing 3D rotations.
RID
Rect2
Package Rect2 provides a 2D axis-aligned bounding box using floating-point coordinates.
Package Rect2 provides a 2D axis-aligned bounding box using floating-point coordinates.
Rect2i
Package Rect2i provides a 2D axis-aligned bounding box using integer coordinates.
Package Rect2i provides a 2D axis-aligned bounding box using integer coordinates.
Signal
Package Signal provides a type representing an event stream or pub/sub message queue.
Package Signal provides a type representing an event stream or pub/sub message queue.
String
Package String provides a generic string functions.
Package String provides a generic string functions.
StringName
Package StringName provides unique strings.
Package StringName provides unique strings.
Transform2D
Package Transform2D provides a 2×3 matrix representing a 2D transformation.
Package Transform2D provides a 2×3 matrix representing a 2D transformation.
Transform3D
Package Transform3D a 3×4 matrix representing a 3D transformation.
Package Transform3D a 3×4 matrix representing a 3D transformation.
Vector2
Package Vector2 provides a 2D vector using floating-point coordinates.
Package Vector2 provides a 2D vector using floating-point coordinates.
Vector2i
Package Vector2i provides a 2D vector using integer coordinates.
Package Vector2i provides a 2D vector using integer coordinates.
Vector3
Package Vector3 provides a 3D vector using floating-point coordinates.
Package Vector3 provides a 3D vector using floating-point coordinates.
Vector3i
Package Vector3 provides a 3D vector using integer coordinates.
Package Vector3 provides a 3D vector using integer coordinates.
Vector4
Package Vector4 provides a 4D vector using integer coordinates.
Package Vector4 provides a 4D vector using integer coordinates.
Vector4i
Package Vector4i provides a 4D vector using integer coordinates.
Package Vector4i provides a 4D vector using integer coordinates.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL