diff --git a/tutorials/scripting/img/percent.png b/tutorials/scripting/img/percent.png new file mode 100644 index 000000000..b702315fa Binary files /dev/null and b/tutorials/scripting/img/percent.png differ diff --git a/tutorials/scripting/img/unique_name.png b/tutorials/scripting/img/unique_name.png new file mode 100644 index 000000000..4325dd4be Binary files /dev/null and b/tutorials/scripting/img/unique_name.png differ diff --git a/tutorials/scripting/index.rst b/tutorials/scripting/index.rst index af0c87e35..be2a5e3e2 100644 --- a/tutorials/scripting/index.rst +++ b/tutorials/scripting/index.rst @@ -52,3 +52,4 @@ below will help you make the most of Godot. resources singletons_autoload scene_tree + scene_unique_nodes diff --git a/tutorials/scripting/scene_unique_nodes.rst b/tutorials/scripting/scene_unique_nodes.rst new file mode 100644 index 000000000..a18ed054e --- /dev/null +++ b/tutorials/scripting/scene_unique_nodes.rst @@ -0,0 +1,36 @@ +.. _doc_scene_unique_nodes: + +Scene Unique Nodes +================== + +Introduction +------------ + +There are times in a project where a node needs to be called +from a script. However, its position in the tree might change +over time as adjustments are made to a scene, such as a +button in a UI scene. + +In situations like this, a node can be turned into a scene +unique node to avoid having to update a script every time +its path is changed. + +Creating and using them +----------------------- + +In the Scene tree dock, right-click on a node and select +**Access as Scene Unique Name** in the context menu. + +.. image:: img/unique_name.png + +After checking this, the node will now have a percent symbol (**%**) next +to its name in the scene tree: + +.. image:: img/percent.png + +To use a unique node in a script, use the ``%`` symbol and the node's +name in the path for ``get_node()``. For example: + +.. tabs:: + .. code-tab:: gdscript GDScript + get_node("%RedButton").text = "Hello"