Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.


A pre-parsed scene tree path.


A pre-parsed relative or absolute path in a scene tree, for use with Node.get_node and similar functions. It can reference a node, a resource within a node, or a property of a node or resource. For example, "Path2D/PathFollow2D/Sprite2D:texture:size" would refer to the size property of the texture resource on the node named "Sprite2D", which is a child of the other named nodes in the path.

You will usually just pass a string to Node.get_node and it will be automatically converted, but you may occasionally want to parse a path ahead of time with NodePath or the literal syntax ^"path". Exporting a NodePath variable will give you a node selection widget in the properties panel of the editor, which can often be useful.

A NodePath is composed of a list of slash-separated node names (like a filesystem path) and an optional colon-separated list of "subnames" which can be resources or properties.

Some examples of NodePaths include the following:

# No leading slash means it is relative to the current node.
^"A" # Immediate child A
^"A/B" # A's child B
^"." # The current node.
^".." # The parent node.
^"../C" # A sibling node C.
^"../.." # The grandparent node.
# A leading slash means it is absolute from the SceneTree.
^"/root" # Equivalent to get_tree().get_root().
^"/root/Main" # If your main scene's root node were named "Main".
^"/root/MyAutoload" # If you have an autoloaded node or scene.

See also StringName, which is a similar concept for general-purpose string interning.

Note: In the editor, NodePath properties are automatically updated when moving, renaming or deleting a node in the scene tree, but they are never updated at runtime.

Note: In a boolean context, a NodePath will evaluate to false if it is empty (NodePath("")). Otherwise, a NodePath will always evaluate to true.


There are notable differences when using this API with C#. See Відмінності API C# в GDScript for more information.




NodePath ( )


NodePath ( NodePath from )


NodePath ( String from )



get_as_property_path ( ) const


get_concatenated_names ( ) const


get_concatenated_subnames ( ) const


get_name ( int idx ) const


get_name_count ( ) const


get_subname ( int idx ) const


get_subname_count ( ) const


hash ( ) const


is_absolute ( ) const


is_empty ( ) const



operator != ( NodePath right )


operator == ( NodePath right )

Constructor Descriptions

NodePath NodePath ( )

Constructs an empty NodePath.

NodePath NodePath ( NodePath from )

Constructs a NodePath as a copy of the given NodePath. NodePath("example") is equivalent to ^"example".

NodePath NodePath ( String from )

Creates a NodePath from a string, e.g. "Path2D/PathFollow2D/Sprite2D:texture:size". A path is absolute if it starts with a slash. Absolute paths are only valid in the global scene tree, not within individual scenes. In a relative path, "." and