classdb

package
v0.0.0-...-9b8b246 Latest Latest
Warning

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

Go to latest
Published: Sep 23, 2025 License: MIT Imports: 44 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NameFor

func NameFor[T Class]() string

func NameOf

func NameOf(T Class) string

NameOf returns the defined name for the given Extension-embedding type.

func Register

func Register[T Class](exports ...any)

Register registers a struct available for use inside The Engine as an object (or class) by extending the given 'Parent' Engine class. The 'Struct' type must be a named struct with the first field embedding Extension referring to itself and specifying the parent class to extend.

type MyClass struct {
	Class[MyClass, Node2D] `gd:"MyClass"`
}

The tag can be adjusted in order to change the name of the class within The Engine.

Use this in a main or init function to register your Go structs and they will become available within The Engine for use in the editor and/or within scripts. Call this before loading the scene.

All exported fields and methods will be exposed to The Engine, so take caution when embedding types, as their fields and methods will be promoted. They will be exported as snake_case by default, for fields, the exported name can be adjusted with the 'gd' tag.

The following struct tags can be used to adjust the behavior of class members within The Engine:

  • range can be used to specify the range hint of the member.
  • group can be used to group members together in the editor.

This function accepts a variable number of additional arguments, they may either be func, map[string]any (where each any is a func), map[string]string or map[string]int, these arguments can be used to register static methods, rename existing methods, add symbol documentation or to define constants respectively. As a special case, if a function is passed which name begins with 'New' and accepts no arguments, returning T, then it will be registered as the constructor for the class when it is instantiated from within The Engine.

If the Struct extends [EditorPlugin] then it will be added to the editor as a plugin.

func Super

func Super[T gd.IsClass](class ExtensionTo[T]) T

Types

type Class

type Class = gdclass.Interface

type Extension deprecated

type Extension[T Class, S gd.IsClass] = gdclass.Extension[T, S]

Deprecated: use a classdb package Extension instead, ie. Node.Extension[MyClass]

type ExtensionTo

type ExtensionTo[T gd.IsClass] interface {
	Class
	// contains filtered or unexported methods
}

type MethodFlags

type MethodFlags int
const (
	/*Flag for a normal method.*/
	MethodFlagNormal MethodFlags = 1
	/*Flag for an editor method.*/
	MethodFlagEditor MethodFlags = 2
	/*Flag for a constant method.*/
	MethodFlagConst MethodFlags = 4
	/*Flag for a virtual method.*/
	MethodFlagVirtual MethodFlags = 8
	/*Flag for a method with a variable number of arguments.*/
	MethodFlagVararg MethodFlags = 16
	/*Flag for a static method.*/
	MethodFlagStatic MethodFlags = 32
	/*Used internally. Allows to not dump core virtual methods (such as [method Object._notification]) to the JSON API.*/
	MethodFlagObjectCore MethodFlags = 64
	/*Default method flags (normal).*/
	MethodFlagsDefault MethodFlags = 1
)

type PropertyHint

type PropertyHint int
const (
	/*The property has no hint for the editor.*/
	PropertyHintNone PropertyHint = 0
	/*Hints that an [int] or [float] property should be within a range specified via the hint string [code]"min,max"[/code] or [code]"min,max,step"[/code]. The hint string can optionally include [code]"or_greater"[/code] and/or [code]"or_less"[/code] to allow manual input going respectively above the max or below the min values.
	  [b]Example:[/b] [code]"-360,360,1,or_greater,or_less"[/code].
	  Additionally, other keywords can be included: [code]"exp"[/code] for exponential range editing, [code]"radians_as_degrees"[/code] for editing radian angles in degrees (the range values are also in degrees), [code]"degrees"[/code] to hint at an angle and [code]"hide_slider"[/code] to hide the slider.*/
	PropertyHintRange PropertyHint = 1
	/*Hints that an [int] or [String] property is an enumerated value to pick in a list specified via a hint string.
	  The hint string is a comma separated list of names such as [code]"Hello,Something,Else"[/code]. Whitespaces are [b]not[/b] removed from either end of a name. For integer properties, the first name in the list has value 0, the next 1, and so on. Explicit values can also be specified by appending [code]:integer[/code] to the name, e.g. [code]"Zero,One,Three:3,Four,Six:6"[/code].*/
	PropertyHintEnum PropertyHint = 2
	/*Hints that a [String] property can be an enumerated value to pick in a list specified via a hint string such as [code]"Hello,Something,Else"[/code].
	  Unlike [constant PROPERTY_HINT_ENUM], a property with this hint still accepts arbitrary values and can be empty. The list of values serves to suggest possible values.*/
	PropertyHintEnumSuggestion PropertyHint = 3
	/*Hints that a [float] property should be edited via an exponential easing function. The hint string can include [code]"attenuation"[/code] to flip the curve horizontally and/or [code]"positive_only"[/code] to exclude in/out easing and limit values to be greater than or equal to zero.*/
	PropertyHintExpEasing PropertyHint = 4
	/*Hints that a vector property should allow its components to be linked. For example, this allows [member Vector2.x] and [member Vector2.y] to be edited together.*/
	PropertyHintLink PropertyHint = 5
	/*Hints that an [int] property is a bitmask with named bit flags.
	  The hint string is a comma separated list of names such as [code]"Bit0,Bit1,Bit2,Bit3"[/code]. Whitespaces are [b]not[/b] removed from either end of a name. The first name in the list has value 1, the next 2, then 4, 8, 16 and so on. Explicit values can also be specified by appending [code]:integer[/code] to the name, e.g. [code]"A:4,B:8,C:16"[/code]. You can also combine several flags ([code]"A:4,B:8,AB:12,C:16"[/code]).
	  [b]Note:[/b] A flag value must be at least [code]1[/code] and at most [code]2 ** 32 - 1[/code].
	  [b]Note:[/b] Unlike [constant PROPERTY_HINT_ENUM], the previous explicit value is not taken into account. For the hint [code]"A:16,B,C"[/code], A is 16, B is 2, C is 4.*/
	PropertyHintFlags PropertyHint = 6
	/*Hints that an [int] property is a bitmask using the optionally named 2D render layers.*/
	PropertyHintLayers2dRender PropertyHint = 7
	/*Hints that an [int] property is a bitmask using the optionally named 2D physics layers.*/
	PropertyHintLayers2dPhysics PropertyHint = 8
	/*Hints that an [int] property is a bitmask using the optionally named 2D navigation layers.*/
	PropertyHintLayers2dNavigation PropertyHint = 9
	/*Hints that an [int] property is a bitmask using the optionally named 3D render layers.*/
	PropertyHintLayers3dRender PropertyHint = 10
	/*Hints that an [int] property is a bitmask using the optionally named 3D physics layers.*/
	PropertyHintLayers3dPhysics PropertyHint = 11
	/*Hints that an [int] property is a bitmask using the optionally named 3D navigation layers.*/
	PropertyHintLayers3dNavigation PropertyHint = 12
	/*Hints that an integer property is a bitmask using the optionally named avoidance layers.*/
	PropertyHintLayersAvoidance PropertyHint = 37
	/*Hints that a [String] property is a path to a file. Editing it will show a file dialog for picking the path. The hint string can be a set of filters with wildcards like [code]"*.png,*.jpg"[/code].*/
	PropertyHintFile PropertyHint = 13
	/*Hints that a [String] property is a path to a directory. Editing it will show a file dialog for picking the path.*/
	PropertyHintDir PropertyHint = 14
	/*Hints that a [String] property is an absolute path to a file outside the project folder. Editing it will show a file dialog for picking the path. The hint string can be a set of filters with wildcards, like [code]"*.png,*.jpg"[/code].*/
	PropertyHintGlobalFile PropertyHint = 15
	/*Hints that a [String] property is an absolute path to a directory outside the project folder. Editing it will show a file dialog for picking the path.*/
	PropertyHintGlobalDir PropertyHint = 16
	/*Hints that a property is an instance of a [Resource]-derived type, optionally specified via the hint string (e.g. [code]"Texture2D"[/code]). Editing it will show a popup menu of valid resource types to instantiate.*/
	PropertyHintResourceType PropertyHint = 17
	/*Hints that a [String] property is text with line breaks. Editing it will show a text input field where line breaks can be typed.*/
	PropertyHintMultilineText PropertyHint = 18
	/*Hints that a [String] property is an [Expression].*/
	PropertyHintExpression PropertyHint = 19
	/*Hints that a [String] property should show a placeholder text on its input field, if empty. The hint string is the placeholder text to use.*/
	PropertyHintPlaceholderText PropertyHint = 20
	/*Hints that a [Color] property should be edited without affecting its transparency ([member Color.a] is not editable).*/
	PropertyHintColorNoAlpha PropertyHint = 21
	/*Hints that the property's value is an object encoded as object ID, with its type specified in the hint string. Used by the debugger.*/
	PropertyHintObjectId PropertyHint = 22
	/*If a property is [String], hints that the property represents a particular type (class). This allows to select a type from the create dialog. The property will store the selected type as a string.
	  If a property is [Array], hints the editor how to show elements. The [code]hint_string[/code] must encode nested types using [code]":"[/code] and [code]"/"[/code].
	  [codeblocks]
	  [gdscript]
	  # Array of elem_type.
	  hint_string = "%d:" % [elem_type]
	  hint_string = "%d/%d:%s" % [elem_type, elem_hint, elem_hint_string]
	  # Two-dimensional array of elem_type (array of arrays of elem_type).
	  hint_string = "%d:%d:" % [TYPE_ARRAY, elem_type]
	  hint_string = "%d:%d/%d:%s" % [TYPE_ARRAY, elem_type, elem_hint, elem_hint_string]
	  # Three-dimensional array of elem_type (array of arrays of arrays of elem_type).
	  hint_string = "%d:%d:%d:" % [TYPE_ARRAY, TYPE_ARRAY, elem_type]
	  hint_string = "%d:%d:%d/%d:%s" % [TYPE_ARRAY, TYPE_ARRAY, elem_type, elem_hint, elem_hint_string]
	  [/gdscript]
	  [csharp]
	  // Array of elemType.
	  hintString = $"{elemType:D}:";
	  hintString = $"{elemType:}/{elemHint:D}:{elemHintString}";
	  // Two-dimensional array of elemType (array of arrays of elemType).
	  hintString = $"{Variant.Type.Array:D}:{elemType:D}:";
	  hintString = $"{Variant.Type.Array:D}:{elemType:D}/{elemHint:D}:{elemHintString}";
	  // Three-dimensional array of elemType (array of arrays of arrays of elemType).
	  hintString = $"{Variant.Type.Array:D}:{Variant.Type.Array:D}:{elemType:D}:";
	  hintString = $"{Variant.Type.Array:D}:{Variant.Type.Array:D}:{elemType:D}/{elemHint:D}:{elemHintString}";
	  [/csharp]
	  [/codeblocks]
	  Examples:
	  [codeblocks]
	  [gdscript]
	  hint_string = "%d:" % [TYPE_INT] # Array of integers.
	  hint_string = "%d/%d:1,10,1" % [TYPE_INT, PROPERTY_HINT_RANGE] # Array of integers (in range from 1 to 10).
	  hint_string = "%d/%d:Zero,One,Two" % [TYPE_INT, PROPERTY_HINT_ENUM] # Array of integers (an enum).
	  hint_string = "%d/%d:Zero,One,Three:3,Six:6" % [TYPE_INT, PROPERTY_HINT_ENUM] # Array of integers (an enum).
	  hint_string = "%d/%d:*.png" % [TYPE_STRING, PROPERTY_HINT_FILE] # Array of strings (file paths).
	  hint_string = "%d/%d:Texture2D" % [TYPE_OBJECT, PROPERTY_HINT_RESOURCE_TYPE] # Array of textures.

	  hint_string = "%d:%d:" % [TYPE_ARRAY, TYPE_FLOAT] # Two-dimensional array of floats.
	  hint_string = "%d:%d/%d:" % [TYPE_ARRAY, TYPE_STRING, PROPERTY_HINT_MULTILINE_TEXT] # Two-dimensional array of multiline strings.
	  hint_string = "%d:%d/%d:-1,1,0.1" % [TYPE_ARRAY, TYPE_FLOAT, PROPERTY_HINT_RANGE] # Two-dimensional array of floats (in range from -1 to 1).
	  hint_string = "%d:%d/%d:Texture2D" % [TYPE_ARRAY, TYPE_OBJECT, PROPERTY_HINT_RESOURCE_TYPE] # Two-dimensional array of textures.
	  [/gdscript]
	  [csharp]
	  hintString = $"{Variant.Type.Int:D}/{PropertyHint.Range:D}:1,10,1"; // Array of integers (in range from 1 to 10).
	  hintString = $"{Variant.Type.Int:D}/{PropertyHint.Enum:D}:Zero,One,Two"; // Array of integers (an enum).
	  hintString = $"{Variant.Type.Int:D}/{PropertyHint.Enum:D}:Zero,One,Three:3,Six:6"; // Array of integers (an enum).
	  hintString = $"{Variant.Type.String:D}/{PropertyHint.File:D}:*.png"; // Array of strings (file paths).
	  hintString = $"{Variant.Type.Object:D}/{PropertyHint.ResourceType:D}:Texture2D"; // Array of textures.

	  hintString = $"{Variant.Type.Array:D}:{Variant.Type.Float:D}:"; // Two-dimensional array of floats.
	  hintString = $"{Variant.Type.Array:D}:{Variant.Type.String:D}/{PropertyHint.MultilineText:D}:"; // Two-dimensional array of multiline strings.
	  hintString = $"{Variant.Type.Array:D}:{Variant.Type.Float:D}/{PropertyHint.Range:D}:-1,1,0.1"; // Two-dimensional array of floats (in range from -1 to 1).
	  hintString = $"{Variant.Type.Array:D}:{Variant.Type.Object:D}/{PropertyHint.ResourceType:D}:Texture2D"; // Two-dimensional array of textures.
	  [/csharp]
	  [/codeblocks]
	  [b]Note:[/b] The trailing colon is required for properly detecting built-in types.*/
	PropertyHintTypeString           PropertyHint = 23
	PropertyHintNodePathToEditedNode PropertyHint = 24
	/*Hints that an object is too big to be sent via the debugger.*/
	PropertyHintObjectTooBig PropertyHint = 25
	/*Hints that the hint string specifies valid node types for property of type [NodePath].*/
	PropertyHintNodePathValidTypes PropertyHint = 26
	/*Hints that a [String] property is a path to a file. Editing it will show a file dialog for picking the path for the file to be saved at. The dialog has access to the project's directory. The hint string can be a set of filters with wildcards like [code]"*.png,*.jpg"[/code]. See also [member FileDialog.filters].*/
	PropertyHintSaveFile PropertyHint = 27
	/*Hints that a [String] property is a path to a file. Editing it will show a file dialog for picking the path for the file to be saved at. The dialog has access to the entire filesystem. The hint string can be a set of filters with wildcards like [code]"*.png,*.jpg"[/code]. See also [member FileDialog.filters].*/
	PropertyHintGlobalSaveFile PropertyHint = 28
	PropertyHintIntIsObjectid  PropertyHint = 29
	/*Hints that an [int] property is a pointer. Used by GDExtension.*/
	PropertyHintIntIsPointer PropertyHint = 30
	/*Hints that a property is an [Array] with the stored type specified in the hint string.*/
	PropertyHintArrayType PropertyHint = 31
	/*Hints that a string property is a locale code. Editing it will show a locale dialog for picking language and country.*/
	PropertyHintLocaleId PropertyHint = 32
	/*Hints that a dictionary property is string translation map. Dictionary keys are locale codes and, values are translated strings.*/
	PropertyHintLocalizableString PropertyHint = 33
	/*Hints that a property is an instance of a [Node]-derived type, optionally specified via the hint string (e.g. [code]"Node2D"[/code]). Editing it will show a dialog for picking a node from the scene.*/
	PropertyHintNodeType PropertyHint = 34
	/*Hints that a quaternion property should disable the temporary euler editor.*/
	PropertyHintHideQuaternionEdit PropertyHint = 35
	/*Hints that a string property is a password, and every character is replaced with the secret character.*/
	PropertyHintPassword PropertyHint = 36
	/*Represents the size of the [enum PropertyHint] enum.*/
	PropertyHintMax PropertyHint = 38
)

type PropertyUsageFlags

type PropertyUsageFlags int
const (
	/*The property is not stored, and does not display in the editor. This is the default for non-exported properties.*/
	PropertyUsageNone PropertyUsageFlags = 0
	/*The property is serialized and saved in the scene file (default for exported properties).*/
	PropertyUsageStorage PropertyUsageFlags = 2
	/*The property is shown in the [EditorInspector] (default for exported properties).*/
	PropertyUsageEditor PropertyUsageFlags = 4
	/*The property is excluded from the class reference.*/
	PropertyUsageInternal PropertyUsageFlags = 8
	/*The property can be checked in the [EditorInspector].*/
	PropertyUsageCheckable PropertyUsageFlags = 16
	/*The property is checked in the [EditorInspector].*/
	PropertyUsageChecked PropertyUsageFlags = 32
	/*Used to group properties together in the editor. See [EditorInspector].*/
	PropertyUsageGroup PropertyUsageFlags = 64
	/*Used to categorize properties together in the editor.*/
	PropertyUsageCategory PropertyUsageFlags = 128
	/*Used to group properties together in the editor in a subgroup (under a group). See [EditorInspector].*/
	PropertyUsageSubgroup PropertyUsageFlags = 256
	/*The property is a bitfield, i.e. it contains multiple flags represented as bits.*/
	PropertyUsageClassIsBitfield PropertyUsageFlags = 512
	/*The property does not save its state in [PackedScene].*/
	PropertyUsageNoInstanceState PropertyUsageFlags = 1024
	/*Editing the property prompts the user for restarting the editor.*/
	PropertyUsageRestartIfChanged PropertyUsageFlags = 2048
	/*The property is a script variable which should be serialized and saved in the scene file.*/
	PropertyUsageScriptVariable PropertyUsageFlags = 4096
	/*The property value of type [Object] will be stored even if its value is [code]null[/code].*/
	PropertyUsageStoreIfNull PropertyUsageFlags = 8192
	/*If this property is modified, all inspector fields will be refreshed.*/
	PropertyUsageUpdateAllIfModified PropertyUsageFlags = 16384
	PropertyUsageScriptDefaultValue  PropertyUsageFlags = 32768
	/*The property is an enum, i.e. it only takes named integer constants from its associated enumeration.*/
	PropertyUsageClassIsEnum PropertyUsageFlags = 65536
	/*If property has [code]nil[/code] as default value, its type will be [Variant].*/
	PropertyUsageNilIsVariant PropertyUsageFlags = 131072
	/*The property is an array.*/
	PropertyUsageArray PropertyUsageFlags = 262144
	/*When duplicating a resource with [method Resource.duplicate], and this flag is set on a property of that resource, the property should always be duplicated, regardless of the [code]subresources[/code] bool parameter.*/
	PropertyUsageAlwaysDuplicate PropertyUsageFlags = 524288
	/*When duplicating a resource with [method Resource.duplicate], and this flag is set on a property of that resource, the property should never be duplicated, regardless of the [code]subresources[/code] bool parameter.*/
	PropertyUsageNeverDuplicate PropertyUsageFlags = 1048576
	/*The property is only shown in the editor if modern renderers are supported (the Compatibility rendering method is excluded).*/
	PropertyUsageHighEndGfx PropertyUsageFlags = 2097152
	/*The [NodePath] property will always be relative to the scene's root. Mostly useful for local resources.*/
	PropertyUsageNodePathFromSceneRoot PropertyUsageFlags = 4194304
	/*Use when a resource is created on the fly, i.e. the getter will always return a different instance. [ResourceSaver] needs this information to properly save such resources.*/
	PropertyUsageResourceNotPersistent PropertyUsageFlags = 8388608
	/*Inserting an animation key frame of this property will automatically increment the value, allowing to easily keyframe multiple values in a row.*/
	PropertyUsageKeyingIncrements    PropertyUsageFlags = 16777216
	PropertyUsageDeferredSetResource PropertyUsageFlags = 33554432
	/*When this property is a [Resource] and base object is a [Node], a resource instance will be automatically created whenever the node is created in the editor.*/
	PropertyUsageEditorInstantiateObject PropertyUsageFlags = 67108864
	/*The property is considered a basic setting and will appear even when advanced mode is disabled. Used for project settings.*/
	PropertyUsageEditorBasicSetting PropertyUsageFlags = 134217728
	/*The property is read-only in the [EditorInspector].*/
	PropertyUsageReadOnly PropertyUsageFlags = 268435456
	/*An export preset property with this flag contains confidential information and is stored separately from the rest of the export preset configuration.*/
	PropertyUsageSecret PropertyUsageFlags = 536870912
	/*Default usage (storage and editor).*/
	PropertyUsageDefault PropertyUsageFlags = 6
	/*Default usage but without showing the property in the editor (storage).*/
	PropertyUsageNoEditor PropertyUsageFlags = 2
)

type Tool

type Tool interface {
	// contains filtered or unexported methods
}

Tool can be embedded inside a struct to make it run in the editor.

type Trampoline

type Trampoline[T any] struct{}

Trampoline can be used to efficiently call methods on a class without producing any allocations.

func MakeTrampoline

func MakeTrampoline[T, M any](jump func(instance *T, method M, args variant.Arguments)) Trampoline[T]

MakeTrampoline can be used to create a trampoline for a method. T should be a func type matching the signature of the method being optimized.

Directories

Path Synopsis
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).
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.
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] 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.
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.
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.
An animatable 2D physics body.
An animatable 2D physics body.
An animatable 3D physics body.
An animatable 3D physics body.
[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] 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] 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.
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.
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.
Base class for [AnimationPlayer] and [AnimationTree] to manage animation lists.
Base class for [AnimationPlayer] and [AnimationTree] to manage animation lists.
Base resource for [AnimationTree] nodes.
Base resource for [AnimationTree] nodes.
A resource to add to an [AnimationNodeBlendTree].
A resource to add to an [AnimationNodeBlendTree].
A resource to add to an [AnimationNodeBlendTree].
A resource to add to an [AnimationNodeBlendTree].
A resource to add to an [AnimationNodeBlendTree].
A resource to add to an [AnimationNodeBlendTree].
A resource to add to an [AnimationNodeBlendTree].
A resource to add to an [AnimationNodeBlendTree].
A resource to add to an [AnimationNodeBlendTree].
A resource to add to an [AnimationNodeBlendTree].
A resource used by [AnimationNodeBlendTree].
A resource used by [AnimationNodeBlendTree].
A resource used by [AnimationNodeBlendTree].
A resource used by [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] 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++.
A resource to add to an [AnimationNodeBlendTree].
A resource to add to an [AnimationNodeBlendTree].
A node created automatically in an [AnimationNodeBlendTree] that outputs the final animation.
A node created automatically in an [AnimationNodeBlendTree] that outputs the final animation.
Contains multiple [AnimationRootNode]s representing animation states, connected in a graph.
Contains multiple [AnimationRootNode]s representing animation states, connected in a graph.
Allows control of [AnimationTree] state machines created with [AnimationNodeStateMachine].
Allows control of [AnimationTree] state machines created with [AnimationNodeStateMachine].
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].
A resource to add to an [AnimationNodeBlendTree].
A resource to add to an [AnimationNodeBlendTree].
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].
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.
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.
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].
An animation player is used for general-purpose playback of animations.
An animation player is used for general-purpose playback of animations.
[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.
A node used for advanced animation transitions in an [AnimationPlayer].
A node used for advanced animation transitions in an [AnimationPlayer].
[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] 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.
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] 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.
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.
[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].
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.
The base [Resource] for every audio effect.
The base [Resource] for every audio effect.
Increases or decreases the volume being routed through the audio bus.
Increases or decreases the volume being routed through the audio bus.
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.
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 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.
Adds a chorus audio effect.
Adds a chorus audio effect.
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.
Plays input signal back after a period of time.
Plays input signal back after a period of time.
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 gives you control over frequencies.
AudioEffectEQ gives you control over frequencies.
Frequency bands:
Frequency bands:
Frequency bands:
Frequency bands:
Frequency bands:
Frequency bands:
Allows frequencies other than the [CutoffHz] to pass.
Allows frequencies other than the [CutoffHz] to pass.
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.
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.
Reduces all frequencies above the [AudioEffectFilter.CutoffHz].
Reduces all frequencies above the [AudioEffectFilter.CutoffHz].
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.
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.
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.
Reduces all frequencies below the [AudioEffectFilter.CutoffHz].
Reduces all frequencies below the [AudioEffectFilter.CutoffHz].
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.
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.
Combines phase-shifted signals with the original signal.
Combines phase-shifted signals with the original signal.
Allows modulation of pitch independently of tempo.
Allows modulation of pitch independently of tempo.
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].
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.
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.
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.
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.
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.
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.
Base class for audio samples.
Base class for audio samples.
Meta class for playing back audio samples.
Meta class for playing back audio samples.
[AudioServer] is a low-level server interface for audio access.
[AudioServer] is a low-level server interface for audio access.
Base class for audio streams.
Base class for audio streams.
[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.
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.
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.
MP3 audio stream driver.
MP3 audio stream driver.
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.
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.
Can play, loop, pause a scroll through audio.
Can play, loop, pause a scroll through audio.
Playback component of [AudioStreamInteractive].
Playback component of [AudioStreamInteractive].
Playback instance for [AudioStreamPolyphonic].
Playback instance for [AudioStreamPolyphonic].
The [AudioStreamPlayer] node plays an audio stream non-positionally.
The [AudioStreamPlayer] node plays an audio stream non-positionally.
Plays audio that is attenuated with distance to the listener.
Plays audio that is attenuated with distance to the listener.
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.
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.
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.
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 stores sound samples loaded from WAV files.
AudioStreamWAV stores sound samples loaded from WAV files.
Node for back-buffering the currently-displayed screen.
Node for back-buffering the currently-displayed screen.
[BaseButton] is an abstract base class for GUI buttons.
[BaseButton] is an abstract base class for GUI buttons.
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.
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.
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.
This node selects a bone in a [Skeleton3D] and attaches to it.
This node selects a bone in a [Skeleton3D] and attaches to it.
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].
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.
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.
Generate an axis-aligned box [PrimitiveMesh].
Generate an axis-aligned box [PrimitiveMesh].
[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.
A 3D box shape, intended for use in physics.
A 3D box shape, intended for use in physics.
[Button] is the standard themed button.
[Button] is the standard themed button.
A group of [BaseButton]-derived buttons.
A group of [BaseButton]-derived buttons.
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.
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.
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.
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.
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.
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.
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.
Parent class for various CSG primitives.
Parent class for various CSG primitives.
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.
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.
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] is used to call a method in a tweening sequence.
[CallbackTweener] is used to call a method in a tweening sequence.
Camera node for 2D scenes.
Camera node for 2D scenes.
[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.
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] 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.
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.
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.
The [CameraServer] keeps track of different cameras accessible in Godot.
The [CameraServer] keeps track of different cameras accessible in Godot.
This texture gives access to the camera texture provided by a [CameraFeed].
This texture gives access to the camera texture provided by a [CameraFeed].
Child [CanvasItem] nodes of a [CanvasGroup] are drawn as a single object.
Child [CanvasItem] nodes of a [CanvasGroup] are drawn as a single object.
Abstract base class for everything in 2D space.
Abstract base class for everything in 2D space.
[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.
[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] applies a color tint to all nodes on a canvas.
[CanvasModulate] applies a color tint to all nodes on a canvas.
[CanvasTexture] is an alternative to [ImageTexture] for 2D rendering.
[CanvasTexture] is an alternative to [ImageTexture] for 2D rendering.
Class representing a capsule-shaped [PrimitiveMesh].
Class representing a capsule-shaped [PrimitiveMesh].
A 2D capsule shape, intended for use in physics.
A 2D capsule shape, intended for use in physics.
A 3D capsule shape, intended for use in physics.
A 3D capsule shape, intended for use in physics.
[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.
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] 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] 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] allows the user to choose one of only two possible options.
[CheckBox] allows the user to choose one of only two possible options.
[CheckButton] is a toggle button displayed as a check field.
[CheckButton] is a toggle button displayed as a check field.
A 2D circle shape, intended for use in physics.
A 2D circle shape, intended for use in physics.
Provides access to metadata stored for every available engine class.
Provides access to metadata stored for every available engine class.
CodeEdit is a specialized [TextEdit] designed for editing plain text code files.
CodeEdit is a specialized [TextEdit] designed for editing plain text code files.
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.
Abstract base class for 2D physics objects.
Abstract base class for 2D physics objects.
Abstract base class for 3D physics objects.
Abstract base class for 3D physics objects.
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.
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.
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.
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.
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.
A widget that provides an interface for selecting or modifying a color.
A widget that provides an interface for selecting or modifying a color.
Encapsulates a [ColorPicker], making it accessible by pressing a button.
Encapsulates a [ColorPicker], making it accessible by pressing a button.
Displays a rectangle filled with a solid [Color].
Displays a rectangle filled with a solid [Color].
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.
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].
A cubemap that is loaded from a .ccube file.
A cubemap that is loaded from a .ccube file.
A cubemap array that is loaded from a .ccubearray file.
A cubemap array that is loaded from a .ccubearray file.
A texture that is loaded from a .ctex file.
A texture that is loaded from a .ctex file.
A texture array that is loaded from a .ctexarray file.
A texture array that is loaded from a .ctexarray file.
[CompressedTexture3D] is the VRAM-compressed counterpart of [ImageTexture3D].
[CompressedTexture3D] is the VRAM-compressed counterpart of [ImageTexture3D].
Base class for [CompressedTexture2DArray] and [CompressedTexture3D].
Base class for [CompressedTexture2DArray] and [CompressedTexture3D].
A 2D polyline shape, intended for use in physics.
A 2D polyline shape, intended for use in physics.
A 3D trimesh shape, intended for use in physics.
A 3D trimesh shape, intended for use in physics.
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.
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.
A dialog used for confirmation of actions.
A dialog used for confirmation of actions.
Base class for all GUI containers.
Base class for all GUI containers.
Base class for all UI-related nodes.
Base class for all UI-related nodes.
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.
A 2D convex polygon shape, intended for use in physics.
A 2D convex polygon shape, intended for use in physics.
A 3D convex polyhedron shape, intended for use in physics.
A 3D convex polyhedron shape, intended for use in physics.
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.
The Crypto class provides access to advanced cryptographic functionalities.
The Crypto class provides access to advanced cryptographic functionalities.
The CryptoKey class represents a cryptographic key.
The CryptoKey class represents a cryptographic key.
A cubemap is made of 6 textures organized in layers.
A cubemap is made of 6 textures organized in layers.
[CubemapArray]s are made of an array of [Cubemap]s.
[CubemapArray]s are made of an array of [Cubemap]s.
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.
This class describes a Bézier curve in 2D space.
This class describes a Bézier curve in 2D space.
This class describes a Bézier curve in 3D space.
This class describes a Bézier curve in 3D space.
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.
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.
Class representing a cylindrical [PrimitiveMesh].
Class representing a cylindrical [PrimitiveMesh].
A 3D cylinder shape, intended for use in physics.
A 3D cylinder shape, intended for use in physics.
An automatically scalable [Texture2D] based on an SVG image.
An automatically scalable [Texture2D] based on an SVG image.
This class is used to store the state of a DTLS server.
This class is used to store the state of a DTLS server.
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]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.
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.
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.
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] handles everything related to window management.
[DisplayServer] handles everything related to window management.
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).
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.
A PacketPeer implementation representing a peer of an [ENetConnection].
A PacketPeer implementation representing a peer of an [ENetConnection].
Object that holds all the available Commands and their shortcuts text.
Object that holds all the available Commands and their shortcuts text.
[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] provides functions related to the editor side of the debugger.
[EditorDebuggerPlugin] provides functions related to the editor side of the debugger.
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].
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.
The base class for Apple embedded platform exporters.
The base class for Apple embedded platform exporters.
External [EditorExportPlatform] implementations should inherit from this class.
External [EditorExportPlatform] implementations should inherit from this class.
The base class for the desktop platform exporters.
The base class for the desktop platform exporters.
The Web exporter customizes how a web build is handled.
The Web exporter customizes how a web build is handled.
The Windows exporter customizes how a Windows build is handled.
The Windows exporter customizes how a Windows build is handled.
[EditorExportPlugin]s are automatically invoked whenever the user exports the project.
[EditorExportPlugin]s are automatically invoked whenever the user exports the project.
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.
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] is an enhanced version of [FileDialog] available only to editor plugins.
[EditorFileDialog] is an enhanced version of [FileDialog] available only to editor plugins.
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.
A more generalized, low-level variation of the directory concept.
A more generalized, low-level variation of the directory concept.
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]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.
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] allows adding custom property editors to [EditorInspector].
[EditorInspectorPlugin] allows adding custom property editors to [EditorInspector].
[EditorInterface] gives you control over Godot editor's window.
[EditorInterface] gives you control over Godot editor's window.
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] allows you to define a new type of Gizmo.
[EditorNode3DGizmoPlugin] allows you to define a new type of Gizmo.
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.
Plugins are used by the editor to extend functionality.
Plugins are used by the editor to extend functionality.
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] 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.
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.
This node is used to generate previews for resources or files.
This node is used to generate previews for resources or files.
Custom code to generate previews.
Custom code to generate previews.
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] 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.
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.
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 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.
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.
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.
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.
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].
This object manages the SceneTree selection in the editor.
This object manages the SceneTree selection in the editor.
Object that holds the project-independent editor settings.
Object that holds the project-independent editor settings.
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.
Base class that all [SyntaxHighlighter]s used by the [ScriptEditor] extend from.
Base class that all [SyntaxHighlighter]s used by the [ScriptEditor] extend from.
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] 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] is a manager for [UndoRedo] objects associated with edited scenes.
[EditorUndoRedoManager] is a manager for [UndoRedo] objects associated with edited scenes.
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.
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].
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] handles the communication between the editor and the running game.
[EngineDebugger] handles the communication between the editor and the running game.
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.
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...).
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.
Displays the content of an external buffer provided by the platform.
Displays the content of an external buffer provided by the platform.
The FBXDocument handles FBX documents.
The FBXDocument handles FBX documents.
The FBXState handles the state data imported from FBX files.
The FBXState handles the state data imported from FBX files.
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.
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] 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.
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.
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.
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]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.
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.
A group of [FoldableContainer]-derived nodes.
A group of [FoldableContainer]-derived nodes.
Abstract base class for different font types.
Abstract base class for different font types.
[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.
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.
Framebuffer cache manager for Rendering Device based renderers.
Framebuffer cache manager for Rendering Device based renderers.
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.
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.
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.
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 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 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.
Represents a camera as defined by the base glTF spec.
Represents a camera as defined by the base glTF spec.
GLTFDocument supports reading data from a glTF file, buffer, or Godot scene.
GLTFDocument supports reading data from a glTF file, buffer, or Godot scene.
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.
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 handles 3D mesh data imported from glTF files.
GLTFMesh handles 3D mesh data imported from glTF files.
Represents a glTF node.
Represents a glTF node.
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.
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.
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.
KHR_materials_pbrSpecularGlossiness is an archived glTF extension.
KHR_materials_pbrSpecularGlossiness is an archived glTF extension.
Contains all nodes and resources of a glTF file.
Contains all nodes and resources of a glTF file.
Represents a texture sampler as defined by the base glTF spec.
Represents a texture sampler as defined by the base glTF spec.
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.
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.
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.
A box-shaped attractor that influences particles from [GPUParticles3D] nodes.
A box-shaped attractor that influences particles from [GPUParticles3D] nodes.
A spheroid-shaped attractor that influences particles from [GPUParticles3D] nodes.
A spheroid-shaped attractor that influences particles from [GPUParticles3D] nodes.
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.
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.
A box-shaped 3D particle collision shape affecting [GPUParticles3D] nodes.
A box-shaped 3D particle collision shape affecting [GPUParticles3D] nodes.
A real-time heightmap-shaped 3D particle collision shape affecting [GPUParticles3D] nodes.
A real-time heightmap-shaped 3D particle collision shape affecting [GPUParticles3D] nodes.
A baked signed distance field 3D particle collision shape affecting [GPUParticles3D] nodes.
A baked signed distance field 3D particle collision shape affecting [GPUParticles3D] nodes.
A sphere-shaped 3D particle collision shape affecting [GPUParticles3D] nodes.
A sphere-shaped 3D particle collision shape affecting [GPUParticles3D] nodes.
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.
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.
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.
Base node for geometry-based visual instances.
Base node for geometry-based visual instances.
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.
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.
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] provides tools for creation, manipulation, and display of various graphs.
[GraphEdit] provides tools for creation, manipulation, and display of various graphs.
[GraphElement] allows to create custom elements for a [GraphEdit] graph.
[GraphElement] allows to create custom elements for a [GraphEdit] graph.
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] 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] arranges its child controls in a grid layout.
[GridContainer] arranges its child controls in a grid layout.
GridMap lets you place meshes on a grid interactively.
GridMap lets you place meshes on a grid interactively.
GridMapEditorPlugin provides access to the [GridMap] editor functionality.
GridMapEditorPlugin provides access to the [GridMap] editor functionality.
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.
A variant of [BoxContainer] that can only arrange its child controls horizontally.
A variant of [BoxContainer] that can only arrange its child controls horizontally.
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.
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.
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.
A horizontal separator used for separating other controls that are arranged vertically.
A horizontal separator used for separating other controls that are arranged vertically.
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.
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.
Hyper-text transfer protocol client (sometimes called "User Agent").
Hyper-text transfer protocol client (sometimes called "User Agent").
A node with the ability to send HTTP requests.
A node with the ability to send HTTP requests.
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.
A 3D heightmap shape, intended for use in physics.
A 3D heightmap shape, intended for use in physics.
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 contains support functions for the Internet Protocol (IP).
IP contains support functions for the Internet Protocol (IP).
Native image datatype.
Native image datatype.
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].
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.
A [Texture2D] based on an [Image].
A [Texture2D] based on an [Image].
[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.
Base class for [Texture2DArray], [Cubemap] and [CubemapArray].
Base class for [Texture2DArray], [Cubemap] and [CubemapArray].
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 is a type of [Resource] analogous to [ArrayMesh].
ImporterMesh is a type of [Resource] analogous to [ArrayMesh].
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.
Abstract base class of all types of input events.
Abstract base class of all types of input events.
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 represents events specifically received by windows.
InputEventFromWindow represents events specifically received by windows.
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.
Input event type for gamepad buttons.
Input event type for gamepad buttons.
Stores information about joystick motions.
Stores information about joystick motions.
An input event for keys on a keyboard.
An input event for keys on a keyboard.
InputEventMIDI stores information about messages from [MIDI] (Musical Instrument Digital Interface) devices.
InputEventMIDI stores information about messages from [MIDI] (Musical Instrument Digital Interface) devices.
Stores the factor of a magnifying touch gesture.
Stores the factor of a magnifying touch gesture.
Stores general information about mouse events.
Stores general information about mouse events.
Stores information about mouse click events.
Stores information about mouse click events.
Stores information about a mouse or a pen motion.
Stores information about a mouse or a pen motion.
Stores information about pan gestures.
Stores information about pan gestures.
Stores information about screen drag events.
Stores information about screen drag events.
Stores information about multi-touch press/release input events.
Stores information about multi-touch press/release input events.
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].
Stores information about mouse, keyboard, and touch gesture input events.
Stores information about mouse, keyboard, and touch gesture input events.
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.
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] is used to make delays in a tweening sequence.
[IntervalTweener] is used to make delays in a tweening sequence.
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.
The JNISingleton is implemented only in the Android export.
The JNISingleton is implemented only in the Android export.
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.
[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.
Represents a class from the Java Native Interface.
Represents a class from the Java Native Interface.
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).
Represents an object from the Java Native Interface.
Represents an object from the Java Native Interface.
The JavaScriptBridge singleton is implemented only in the Web export.
The JavaScriptBridge singleton is implemented only in the Web export.
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].
Abstract base class for all joints in 2D physics.
Abstract base class for all joints in 2D physics.
Abstract base class for all joints in 3D physics.
Abstract base class for all joints in 3D physics.
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].
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].
A control for displaying plain text.
A control for displaying plain text.
A node for displaying plain text in 3D space.
A node for displaying plain text in 3D space.
[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].
Casts light in a 2D environment.
Casts light in a 2D environment.
Light3D is the abstract base class for light nodes.
Light3D is the abstract base class for light nodes.
Occludes light cast by a Light2D, casting shadows.
Occludes light cast by a Light2D, casting shadows.
The [LightmapGI] node is used to compute and store baked lightmaps.
The [LightmapGI] node is used to compute and store baked lightmaps.
[LightmapGIData] contains baked lightmap and dynamic object probe data for [LightmapGI].
[LightmapGIData] contains baked lightmap and dynamic object probe data for [LightmapGI].
[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].
This class should be extended by custom lightmapper classes.
This class should be extended by custom lightmapper classes.
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].
This node draws a 2D polyline, i.e.
This node draws a 2D polyline, i.e.
[LineEdit] provides an input field for editing a single line of text.
[LineEdit] provides an input field for editing a single line of text.
A button that represents a link.
A button that represents a link.
Custom logger to receive messages from the internal error/warning stream.
Custom logger to receive messages from the internal error/warning stream.
This [SkeletonModifier3D] rotates a bone to look at a target.
This [SkeletonModifier3D] rotates a bone to look at a target.
[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] adds an adjustable margin on each side of its child controls.
[MarginContainer] adds an adjustable margin on each side of its child controls.
Generic 2D position hint for editing.
Generic 2D position hint for editing.
Generic 3D position hint for editing.
Generic 3D position hint for editing.
Provides data transformation and encoding utility functions.
Provides data transformation and encoding utility functions.
[Material] is a base resource used for coloring and shading geometry.
[Material] is a base resource used for coloring and shading geometry.
A horizontal menu bar that creates a menu for each [PopupMenu] child.
A horizontal menu bar that creates a menu for each [PopupMenu] child.
A button that brings up a [PopupMenu] when clicked.
A button that brings up a [PopupMenu] when clicked.
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.
Parameters to be used with a [Mesh] convex decomposition operation.
Parameters to be used with a [Mesh] convex decomposition operation.
MeshDataTool provides access to individual vertices in a [Mesh].
MeshDataTool provides access to individual vertices in a [Mesh].
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 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.
A library of meshes.
A library of meshes.
Simple texture that uses a mesh to draw itself.
Simple texture that uses a mesh to draw itself.
[MethodTweener] is similar to a combination of [CallbackTweener] and [PropertyTweener].
[MethodTweener] is similar to a combination of [CallbackTweener] and [PropertyTweener].
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).
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).
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.
This node selects a bone in a [Skeleton3D] and attaches to it.
This node selects a bone in a [Skeleton3D] and attaches to it.
Godot can record videos with non-real-time simulation.
Godot can record videos with non-real-time simulation.
MultiMesh provides low-level mesh instancing.
MultiMesh provides low-level mesh instancing.
[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] 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.
Base class for high-level multiplayer API implementations.
Base class for high-level multiplayer API implementations.
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.
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.
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).
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]).
By default, [MultiplayerSynchronizer] synchronizes configured properties to all peers.
By default, [MultiplayerSynchronizer] synchronizes configured properties to all peers.
A synchronization mutex (mutual exclusion).
A synchronization mutex (mutual exclusion).
[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.
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.
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.
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.
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.
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.
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].
Container for parsed source geometry data used in navigation mesh baking.
Container for parsed source geometry data used in navigation mesh baking.
Container for parsed source geometry data used in navigation mesh baking.
Container for parsed source geometry data used in navigation mesh baking.
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.
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.
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].
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].
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].
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].
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.
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.
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 is the server that handles navigation maps, regions and agents.
NavigationServer2D is the server that handles navigation maps, regions and agents.
NavigationServer3D is the server that handles navigation maps, regions and agents.
NavigationServer3D is the server that handles navigation maps, regions and agents.
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.
Nodes are Godot's building blocks.
Nodes are Godot's building blocks.
A 2D game object, with a transform (position, rotation, and scale).
A 2D game object, with a transform (position, rotation, and scale).
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.
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.
This class defines the interface for noise generation libraries to inherit from.
This class defines the interface for noise generation libraries to inherit from.
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.
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's properties are inherited from [BaseMaterial3D].
ORMMaterial3D's properties are inherited from [BaseMaterial3D].
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] 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.
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.
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].
This is the default [MultiplayerAPI.MultiplayerPeer] for the [Node.Multiplayer].
This is the default [MultiplayerAPI.MultiplayerPeer] for the [Node.Multiplayer].
A sequence of Ogg packets.
A sequence of Ogg packets.
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] makes OpenXR available for GDExtension.
[OpenXRAPIExtension] makes OpenXR available for GDExtension.
This resource defines an OpenXR action.
This resource defines an OpenXR action.
Binding modifier that applies on individual actions related to an interaction profile.
Binding modifier that applies on individual actions related to an interaction profile.
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.
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.
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.
Binding modifier base class.
Binding modifier base class.
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.
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.
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.
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.
An OpenXR composition layer that allows rendering a [SubViewport] on a quad.
An OpenXR composition layer that allows rendering a [SubViewport] on a quad.
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] allows implementing OpenXR extensions with GDExtension.
[OpenXRExtensionWrapper] allows implementing OpenXR extensions with GDExtension.
[OpenXRExtensionWrapperExtension] allows implementing OpenXR extensions with GDExtension.
[OpenXRExtensionWrapperExtension] allows implementing OpenXR extensions with GDExtension.
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.
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.
This node enables OpenXR's hand tracking functionality.
This node enables OpenXR's hand tracking functionality.
This is a base class for haptic feedback resources.
This is a base class for haptic feedback resources.
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.
This binding resource binds an [OpenXRAction] to an input or output.
This binding resource binds an [OpenXRAction] to an input or output.
Binding modifier that applies directly on an interaction profile.
Binding modifier that applies directly on an interaction profile.
This object stores suggested bindings for an interaction profile.
This object stores suggested bindings for an interaction profile.
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.
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.
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.
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.
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).
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.
This helper node will automatically manage displaying render models.
This helper node will automatically manage displaying render models.
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.
An optimized translation, used by default for CSV Translations.
An optimized translation, used by default for CSV Translations.
[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.
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] can be used to efficiently store data from untyped containers.
[PackedDataContainer] can be used to efficiently store data from untyped containers.
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).
A simplified interface to a scene file.
A simplified interface to a scene file.
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).
This class represents a DTLS peer connection.
This class represents a DTLS peer connection.
PacketStreamPeer provides a wrapper for working using packets over a stream.
PacketStreamPeer provides a wrapper for working using packets over a stream.
UDP packet peer.
UDP packet peer.
[Panel] is a GUI control that displays a [StyleBox].
[Panel] is a GUI control that displays a [StyleBox].
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].
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.
A [Parallax2D] is used to create a parallax effect.
A [Parallax2D] is used to create a parallax effect.
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.
A ParallaxLayer must be the child of a [ParallaxBackground] node.
A ParallaxLayer must be the child of a [ParallaxBackground] node.
[ParticleProcessMaterial] defines particle properties and behavior.
[ParticleProcessMaterial] defines particle properties and behavior.
Can have [PathFollow2D] child nodes moving along the [Curve2D].
Can have [PathFollow2D] child nodes moving along the [Curve2D].
Can have [PathFollow3D] child nodes moving along the [Curve3D].
Can have [PathFollow3D] child nodes moving along the [Curve3D].
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.
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.
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.
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.
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.
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].
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] 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] 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.
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.
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.
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.
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.
Provides direct access to a physics space in the [PhysicsServer2D].
Provides direct access to a physics space in the [PhysicsServer2D].
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.
Provides direct access to a physics space in the [PhysicsServer3D].
Provides direct access to a physics space in the [PhysicsServer3D].
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.
Holds physics-related properties of a surface, namely its roughness and bounciness.
Holds physics-related properties of a surface, namely its roughness and bounciness.
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].
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].
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].
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 is the server responsible for all 2D physics.
PhysicsServer2D is the server responsible for all 2D physics.
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] 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 is the server responsible for all 3D physics.
PhysicsServer3D is the server responsible for all 3D physics.
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] 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.
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.
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.
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].
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].
Describes the motion and collision result from [PhysicsServer2D.BodyTestMotion].
Describes the motion and collision result from [PhysicsServer2D.BodyTestMotion].
Describes the motion and collision result from [PhysicsServer3D.BodyTestMotion].
Describes the motion and collision result from [PhysicsServer3D.BodyTestMotion].
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.
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.
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:
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:
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:
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:
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:
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:
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:
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:
Class representing a planar [PrimitiveMesh].
Class representing a planar [PrimitiveMesh].
Casts light in a 2D environment.
Casts light in a 2D environment.
A [PointMesh] is a primitive mesh composed of a single point.
A [PointMesh] is a primitive mesh composed of a single point.
A Polygon2D is defined by a set of points.
A Polygon2D is defined by a set of points.
[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] 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] is a modal window used to display a list of options.
[PopupMenu] is a modal window used to display a list of options.
A popup with a configurable panel background.
A popup with a configurable panel background.
This class allows storing compressed textures as self contained (not imported) resources.
This class allows storing compressed textures as self contained (not imported) resources.
Base class for all primitive meshes.
Base class for all primitive meshes.
Class representing a prism-shaped [PrimitiveMesh].
Class representing a prism-shaped [PrimitiveMesh].
[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.
A control used for visual representation of a percentage.
A control used for visual representation of a percentage.
Stores variables that can be accessed from everywhere.
Stores variables that can be accessed from everywhere.
[PropertyTweener] is used to interpolate a property in an object.
[PropertyTweener] is used to interpolate a property in an object.
Class representing a square [PrimitiveMesh].
Class representing a square [PrimitiveMesh].
[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.
This object is used by [RenderingDevice].
This object is used by [RenderingDevice].
This class contains the list of attachment descriptions for a framebuffer pass.
This class contains the list of attachment descriptions for a framebuffer pass.
This object is used by [RenderingDevice].
This object is used by [RenderingDevice].
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] 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] 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].
This object is used by [RenderingDevice].
This object is used by [RenderingDevice].
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.
This object is used by [RenderingDevice].
This object is used by [RenderingDevice].
Compiled shader file in SPIR-V form.
Compiled shader file in SPIR-V form.
[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.
Shader source code in text form.
Shader source code in text form.
This object is used by [RenderingDevice].
This object is used by [RenderingDevice].
This object is used by [RenderingDevice].
This object is used by [RenderingDevice].
This object is used by [RenderingDevice].
This object is used by [RenderingDevice].
This object is used by [RenderingDevice].
This object is used by [RenderingDevice].
RandomNumberGenerator is a class for generating pseudo-random numbers.
RandomNumberGenerator is a class for generating pseudo-random numbers.
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.
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.
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.
A 2D rectangle shape, intended for use in physics.
A 2D rectangle shape, intended for use in physics.
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]).
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.
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.
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 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 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.
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.
This class allows for a RenderData implementation to be made in GDExtension.
This class allows for a RenderData implementation to be made in GDExtension.
This object manages all render data for the rendering device based renderers.
This object manages all render data for the rendering device based renderers.
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.
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.
This class allows for a RenderSceneBuffer implementation to be made in GDExtension.
This class allows for a RenderSceneBuffer implementation to be made in GDExtension.
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.
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.
This class allows for a RenderSceneData implementation to be made in GDExtension.
This class allows for a RenderSceneData implementation to be made in GDExtension.
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] 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.
The rendering server is the API backend for everything visible.
The rendering server is the API backend for everything visible.
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.
Godot loads resources in the editor or in exported games using ResourceFormatLoaders.
Godot loads resources in the editor or in exported games using ResourceFormatLoaders.
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.
This is the base class for Godot's resource importers.
This is the base class for Godot's resource importers.
The BMFont format is a format created by the [BMFont] program.
The BMFont format is a format created by the [BMFont] program.
[BitMap] resources are typically used as click masks in [TextureButton] and [TouchScreenButton].
[BitMap] resources are typically used as click masks in [TextureButton] and [TouchScreenButton].
Comma-separated values are a plain text table storage format.
Comma-separated values are a plain text table storage format.
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.
This importer imports [Image] resources, as opposed to [CompressedTexture2D].
This importer imports [Image] resources, as opposed to [CompressedTexture2D].
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.
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].
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.
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].
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.
This importer imports [DPITexture] resources.
This importer imports [DPITexture] resources.
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.
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.
This importer imports [CompressedTexture2D] resources.
This importer imports [CompressedTexture2D] resources.
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].
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.
A singleton used to load resource files from the filesystem.
A singleton used to load resource files from the filesystem.
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.
A singleton for saving resource types to the filesystem.
A singleton for saving resource types to the filesystem.
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.
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] represents a straight ribbon-shaped mesh with variable width.
[RibbonTrailMesh] represents a straight ribbon-shaped mesh with variable width.
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].
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] implements full 2D physics.
[RigidBody2D] implements full 2D physics.
[RigidBody3D] implements full 3D physics.
[RigidBody3D] implements full 3D physics.
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.
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.
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.
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.
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.
A class stored as a resource.
A class stored as a resource.
[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].
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.
Godot editor's script editor.
Godot editor's script editor.
Base editor for editing scripts in the [ScriptEditor].
Base editor for editing scripts in the [ScriptEditor].
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.
A container used to provide a child control with scrollbars when needed.
A container used to provide a child control with scrollbars when needed.
A 2D line segment shape, intended for use in physics.
A 2D line segment shape, intended for use in physics.
A synchronization semaphore that can be used to synchronize multiple [Thread]s.
A synchronization semaphore that can be used to synchronize multiple [Thread]s.
A 2D ray shape, intended for use in physics.
A 2D ray shape, intended for use in physics.
A 3D ray shape, intended for use in physics.
A 3D ray shape, intended for use in physics.
Abstract base class for separators, used for separating other controls.
Abstract base class for separators, used for separating other controls.
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.
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.
A shader include file, saved with the .gdshaderinc extension.
A shader include file, saved with the .gdshaderinc extension.
This object contains shader fragments from Godot's internal shaders.
This object contains shader fragments from Godot's internal shaders.
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.
Abstract base class for all 2D shapes, intended for use in physics.
Abstract base class for all 2D shapes, intended for use in physics.
Abstract base class for all 3D shapes, intended for use in physics.
Abstract base class for all 3D shapes, intended for use in physics.
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].
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].
Shortcuts (also known as hotkeys) are containers of [InputEvent] resources.
Shortcuts (also known as hotkeys) are containers of [InputEvent] resources.
[Skeleton2D] parents a hierarchy of [Bone2D] nodes.
[Skeleton2D] parents a hierarchy of [Bone2D] nodes.
[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 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.
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.
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.
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.
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.
This [SkeletonModification2D] rotates a bone to look a target.
This [SkeletonModification2D] rotates a bone to look a target.
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.
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].
This [SkeletonModification2D] uses an algorithm typically called TwoBoneIK.
This [SkeletonModification2D] uses an algorithm typically called TwoBoneIK.
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] retrieves a target [Skeleton3D] by having a [Skeleton3D] parent.
[SkeletonModifier3D] retrieves a target [Skeleton3D] by having a [Skeleton3D] parent.
This resource is used in [EditorScenePostImport].
This resource is used in [EditorScenePostImport].
A [SkeletonProfile] as a preset that is optimized for the human form.
A [SkeletonProfile] as a preset that is optimized for the human form.
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.
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.
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.
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.
A deformable 3D physics mesh.
A deformable 3D physics mesh.
Class representing a spherical [PrimitiveMesh].
Class representing a spherical [PrimitiveMesh].
[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.
A 3D sphere shape, intended for use in physics.
A 3D sphere shape, intended for use in physics.
[SpinBox] is a numerical input text field.
[SpinBox] is a numerical input text field.
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.
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] 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.
A collision can be a child of [SpringBoneSimulator3D].
A collision can be a child of [SpringBoneSimulator3D].
A capsule shape collision that interacts with [SpringBoneSimulator3D].
A capsule shape collision that interacts with [SpringBoneSimulator3D].
An infinite plane collision that interacts with [SpringBoneSimulator3D].
An infinite plane collision that interacts with [SpringBoneSimulator3D].
A sphere shape collision that interacts with [SpringBoneSimulator3D].
A sphere shape collision that interacts with [SpringBoneSimulator3D].
This [SkeletonModifier3D] can be used to wiggle hair, cloth, and tails.
This [SkeletonModifier3D] can be used to wiggle hair, cloth, and tails.
A node that displays a 2D texture.
A node that displays a 2D texture.
A node that displays a 2D texture in a 3D environment.
A node that displays a 2D texture in a 3D environment.
A node that displays 2D texture information in a 3D environment.
A node that displays 2D texture information in a 3D environment.
Sprite frame library for an [AnimatedSprite2D] or [AnimatedSprite3D] node.
Sprite frame library for an [AnimatedSprite2D] or [AnimatedSprite3D] node.
[StandardMaterial3D]'s properties are inherited from [BaseMaterial3D].
[StandardMaterial3D]'s properties are inherited from [BaseMaterial3D].
A static 2D physics body.
A static 2D physics body.
A static 3D physics body.
A static 3D physics body.
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).
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.
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.
A stream peer that handles TCP connections.
A stream peer that handles TCP connections.
A stream peer that handles TLS connections.
A stream peer that handles TLS connections.
[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.
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.
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.
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.
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] Isolates a rectangular region of a scene to be displayed independently.
[SubViewport] Isolates a rectangular region of a scene to be displayed independently.
A container that displays the contents of underlying [SubViewport] child nodes.
A container that displays the contents of underlying [SubViewport] child nodes.
[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].
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.
Base class for syntax highlighters.
Base class for syntax highlighters.
[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].
A TCP server.
A TCP server.
TLSOptions abstracts the configuration options for the [StreamPeerTLS] and [PacketPeerDTLS] classes.
TLSOptions abstracts the configuration options for the [StreamPeerTLS] and [PacketPeerDTLS] classes.
A control that provides a horizontal bar with tabs.
A control that provides a horizontal bar with tabs.
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.
A multiline text editor.
A multiline text editor.
Abstraction over [TextServer] for handling a single line of text.
Abstraction over [TextServer] for handling a single line of text.
Generate a [PrimitiveMesh] from the text.
Generate a [PrimitiveMesh] from the text.
Abstraction over [TextServer] for handling a single paragraph of text.
Abstraction over [TextServer] for handling a single paragraph of text.
[TextServer] is the API backend for managing fonts and rendering text.
[TextServer] is the API backend for managing fonts and rendering text.
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.
A dummy [TextServer] interface that doesn't do anything.
A dummy [TextServer] interface that doesn't do anything.
External [TextServer] implementations should inherit from this class.
External [TextServer] implementations should inherit from this class.
[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] is the base class for all texture types.
[Texture] is the base class for all texture types.
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].
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.
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.
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.
Base class for [ImageTexture3D] and [CompressedTexture3D].
Base class for [ImageTexture3D] and [CompressedTexture3D].
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] 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.
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.
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.
Base class for [ImageTextureLayered] and [CompressedTextureLayered].
Base class for [ImageTextureLayered] and [CompressedTextureLayered].
Base class for [Texture2DArrayRD], [TextureCubemapRD] and [TextureCubemapArrayRD].
Base class for [Texture2DArrayRD], [TextureCubemapRD] and [TextureCubemapArrayRD].
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.
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.
A resource used for styling/skinning [Control] and [Window] nodes.
A resource used for styling/skinning [Control] and [Window] nodes.
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.
A unit of execution in a process.
A unit of execution in a process.
[TileData] object represents a single tile in a [TileSet].
[TileData] object represents a single tile in a [TileSet].
Node for 2D tile-based maps.
Node for 2D tile-based maps.
Node for 2D tile-based maps.
Node for 2D tile-based maps.
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].
A TileSet is a library of tiles for a [TileMapLayer].
A TileSet is a library of tiles for a [TileMapLayer].
An atlas is a grid of tiles laid out on a texture.
An atlas is a grid of tiles laid out on a texture.
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.
Exposes a set of tiles for a [TileSet] resource.
Exposes a set of tiles for a [TileSet] resource.
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.
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.
Class representing a torus [PrimitiveMesh].
Class representing a torus [PrimitiveMesh].
TouchScreenButton allows you to create on-screen buttons for touch devices.
TouchScreenButton allows you to create on-screen buttons for touch devices.
[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] is a self-contained collection of [Translation] resources.
[TranslationDomain] is a self-contained collection of [Translation] resources.
The translation server is the API backend that manages all language translations.
The translation server is the API backend that manages all language translations.
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.
A single item of a [Tree] control.
A single item of a [Tree] control.
Creates a bounding volume hierarchy (BVH) tree structure around triangle geometry.
Creates a bounding volume hierarchy (BVH) tree structure around triangle geometry.
[TubeTrailMesh] represents a straight tube-shaped mesh with variable width.
[TubeTrailMesh] represents a straight tube-shaped mesh with variable width.
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.
Tweeners are objects that perform a specific animating task, e.g.
Tweeners are objects that perform a specific animating task, e.g.
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.
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.
Universal Plug and Play (UPnP) device.
Universal Plug and Play (UPnP) device.
UndoRedo works by registering methods and property changes inside "actions".
UndoRedo works by registering methods and property changes inside "actions".
Uniform set cache manager for Rendering Device based renderers.
Uniform set cache manager for Rendering Device based renderers.
A variant of [BoxContainer] that can only arrange its child controls vertically.
A variant of [BoxContainer] that can only arrange its child controls vertically.
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.
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.
A vertical separator used for separating other controls that are arranged horizontally.
A vertical separator used for separating other controls that are arranged horizontally.
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.
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.
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.
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.
Base resource type for all video streams.
Base resource type for all video streams.
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].
A control used for playback of [VideoStream] resources.
A control used for playback of [VideoStream] resources.
[VideoStream] resource handling the [Ogg Theora] video format with .ogv extension.
[VideoStream] resource handling the [Ogg Theora] video format with .ogv extension.
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.
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] contains a rectangular region of 2D space and a target node.
[VisibleOnScreenEnabler2D] contains a rectangular region of 2D space and a target node.
[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] represents a rectangular region of 2D space.
[VisibleOnScreenNotifier2D] represents a rectangular region of 2D space.
[VisibleOnScreenNotifier3D] represents a box-shaped region of 3D space.
[VisibleOnScreenNotifier3D] represents a box-shaped region of 3D space.
The [VisualInstance3D] is used to connect a resource to a visual representation.
The [VisualInstance3D] is used to connect a resource to a visual representation.
This class provides a graph-like visual editor for creating a [Shader].
This class provides a graph-like visual editor for creating a [Shader].
Visual shader graphs consist of various nodes.
Visual shader graphs consist of various nodes.
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].
Has only one output port and no inputs.
Has only one output port and no inputs.
Translated to uniform bool in the shader language.
Translated to uniform bool in the shader language.
Constrains a value to lie between min and max values.
Constrains a value to lie between min and max values.
Has two output ports representing RGB and alpha channels of [Color.RGBA].
Has two output ports representing RGB and alpha channels of [Color.RGBA].
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.
Applies Operator to two color inputs.
Applies Operator to two color inputs.
Translated to uniform vec4 in the shader language.
Translated to uniform vec4 in the shader language.
This node was replaced by [VisualShaderNodeFrame] and only exists to preserve compatibility.
This node was replaced by [VisualShaderNodeFrame] and only exists to preserve compatibility.
Compares a and b of [Type] by Function.
Compares a and b of [Type] by Function.
This is an abstract class.
This is an abstract class.
Translated to texture(cubemap, vec3) in the shader language.
Translated to texture(cubemap, vec3) in the shader language.
Translated to uniform samplerCube in the shader language.
Translated to uniform samplerCube in the shader language.
Comes with a built-in editor for texture's curves.
Comes with a built-in editor for texture's curves.
Comes with a built-in editor for texture's curves.
Comes with a built-in editor for texture's curves.
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.
This node is only available in Fragment and Light visual shaders.
This node is only available in Fragment and Light visual shaders.
Translates to determinant(x) in the shader language.
Translates to determinant(x) in the shader language.
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.
Translates to dot(a, b) in the shader language.
Translates to dot(a, b) in the shader language.
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.
Translates to faceforward(N, I, Nref) in the shader language.
Translates to faceforward(N, I, Nref) in the shader language.
Translated to float in the shader language.
Translated to float in the shader language.
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.
Applies Operator to two floating-point inputs: a and b.
Applies Operator to two floating-point inputs: a and b.
Translated to uniform float in the shader language.
Translated to uniform float in the shader language.
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.
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).
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.
Currently, has no direct usage, use the derived classes instead.
Currently, has no direct usage, use the derived classes instead.
This visual shader node has six input ports:
This visual shader node has six input ports:
Gives access to input variables (built-ins) available for the shader.
Gives access to input variables (built-ins) available for the shader.
Translated to int in the shader language.
Translated to int in the shader language.
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.
Applies Operator to two integer inputs: a and b.
Applies Operator to two integer inputs: a and b.
A [VisualShaderNodeParameter] of type int.
A [VisualShaderNodeParameter] of type int.
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.
This node can be used in fragment shaders.
This node can be used in fragment shaders.
Translates to mix(a, b, weight) in the shader language.
Translates to mix(a, b, weight) in the shader language.
Uses three operands to compute (a * b + c) expression.
Uses three operands to compute (a * b + c) expression.
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.
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.
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.
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.
Particle accelerator can be used in "process" step of particle shader.
Particle accelerator can be used in "process" step of particle shader.
[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.
This node can be used in "start" step of particle shader.
This node can be used in "start" step of particle shader.
This node internally calls emit_subparticle shader method.
This node internally calls emit_subparticle shader method.
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.
[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].
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.
This node defines how particles are emitted.
This node defines how particles are emitted.
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.
[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.
[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.
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.
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.
Remap will transform the input range into output range, e.g.
Remap will transform the input range into output range, e.g.
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.
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.
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.
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.
Translates to sdf_to_screen_uv(sdf_pos) in the shader language.
Translates to sdf_to_screen_uv(sdf_pos) in the shader language.
A virtual class, use the descendants instead.
A virtual class, use the descendants instead.
The ScreenNormalWorldSpace node allows to create outline effects.
The ScreenNormalWorldSpace node allows to create outline effects.
Translates to screen_uv_to_sdf(uv) in the shader language.
Translates to screen_uv_to_sdf(uv) in the shader language.
Translates to smoothstep(edge0, edge1, x) in the shader language.
Translates to smoothstep(edge0, edge1, x) in the shader language.
Translates to step(edge, x) in the shader language.
Translates to step(edge, x) in the shader language.
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.
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.
Translated to uniform sampler2DArray in the shader language.
Translated to uniform sampler2DArray in the shader language.
This parameter allows to provide a collection of textures for the shader.
This parameter allows to provide a collection of textures for the shader.
Translated to uniform sampler2D in the shader language.
Translated to uniform sampler2D in the shader language.
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.
Translated to uniform sampler3D in the shader language.
Translated to uniform sampler3D in the shader language.
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.
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.
Translates to texture_sdf(sdf_pos) in the shader language.
Translates to texture_sdf(sdf_pos) in the shader language.
Translates to texture_sdf_normal(sdf_pos) in the shader language.
Translates to texture_sdf_normal(sdf_pos) in the shader language.
Creates a 4×4 transform matrix using four vectors of type vec3.
Creates a 4×4 transform matrix using four vectors of type vec3.
A constant [Transform3D.BasisOrigin], which can be used as an input node.
A constant [Transform3D.BasisOrigin], which can be used as an input node.
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.
Computes an inverse or transpose function on the provided [Transform3D.BasisOrigin].
Computes an inverse or transpose function on the provided [Transform3D.BasisOrigin].
Applies Operator to two transform (4×4 matrices) inputs.
Applies Operator to two transform (4×4 matrices) inputs.
Translated to uniform mat4 in the shader language.
Translated to uniform mat4 in the shader language.
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.
Translated to uint in the shader language.
Translated to uint in the shader language.
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.
Applies Operator to two unsigned integer inputs: a and b.
Applies Operator to two unsigned integer inputs: a and b.
A [VisualShaderNodeParameter] of type unsigned int.
A [VisualShaderNodeParameter] of type unsigned int.
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.
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.
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.
Outputs a value of a varying defined in the shader.
Outputs a value of a varying defined in the shader.
Inputs a value to a varying defined in the shader.
Inputs a value to a varying defined in the shader.
A constant [Vector2.XY], which can be used as an input node.
A constant [Vector2.XY], which can be used as an input node.
Translated to uniform vec2 in the shader language.
Translated to uniform vec2 in the shader language.
A constant [Vector3.XYZ], which can be used as an input node.
A constant [Vector3.XYZ], which can be used as an input node.
Translated to uniform vec3 in the shader language.
Translated to uniform vec3 in the shader language.
A constant 4D vector, which can be used as an input node.
A constant 4D vector, which can be used as an input node.
Translated to uniform vec4 in the shader language.
Translated to uniform vec4 in the shader language.
This is an abstract class.
This is an abstract class.
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.
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.
Calculates distance from point represented by vector p0 to vector p1.
Calculates distance from point represented by vector p0 to vector p1.
A visual shader node able to perform different functions using vectors.
A visual shader node able to perform different functions using vectors.
Translated to length(p0) in the shader language.
Translated to length(p0) in the shader language.
A visual shader node for use of vector operators.
A visual shader node for use of vector operators.
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.
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]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] contains baked voxel global illumination for use in a [VoxelGI] node.
[VoxelGIData] contains baked voxel global illumination for use in a [VoxelGI] node.
A weakref can hold a [RefCounted] without contributing to the reference counter.
A weakref can hold a [RefCounted] without contributing to the reference counter.
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].
A WebRTC connection between the local computer and a remote peer.
A WebRTC connection between the local computer and a remote peer.
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].
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.
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.
A node that creates a window.
A node that creates a window.
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.
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.
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.
A 2D world boundary shape, intended for use in physics.
A 2D world boundary shape, intended for use in physics.
A 3D world boundary shape, intended for use in physics.
A 3D world boundary shape, intended for use in physics.
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.
The X509Certificate class represents an X509 certificate.
The X509Certificate class represents an X509 certificate.
Provides a low-level interface for creating parsers for [XML] files.
Provides a low-level interface for creating parsers for [XML] files.
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.
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.
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].
This is a helper 3D node for our camera.
This is a helper 3D node for our camera.
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.
An instance of this object represents a controller that is tracked.
An instance of this object represents a controller that is tracked.
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.
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.
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.
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].
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.
External XR interface plugins should inherit from this class.
External XR interface plugins should inherit from this class.
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].
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.
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.
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.
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.
This object is the base of all XR trackers.
This object is the base of all XR trackers.
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.
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.
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.

Jump to

Keyboard shortcuts

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