Is there any way to undo "make unique" on nodes?

Godot Version

4.2.2

Question

More or less as the title describes. I was trying to solve some issues with multiple instantiated nodes interacting when they shouldn’t by making the root nodes of both the host and child scene unique, but now everything is broken. For example, my script name looks corrupted (e.g. res://card.tscn::GDScript_o34y6) and I’m afraid I ruined hours of work. Please help!!!

There is a revoke unique name option in the context menu if you right click on the unique node.

For some reason, I don’t see that when I click on the node :confused:

This sounds like it’s a built-in script? Maybe you can right click the script property in the inspector and select “Save As”?

That wasn’t broken or corrupted, this is just the internal id of this script, as now the script seems to be a built-in script from the scene. You can check that by yourself opening the card.tscn with any text editor, you’ll see something like this:

[sub_resource type="GDScript" id="GDScript_tuqb8"] # Your script id
# The script content
script/source = "extends Control 


# --- Signals --- #
# --- Enums --- #
# --- Constants --- #
# --- Exported Variables --- #
# --- Public Variables --- #
# --- Private Variables --- #
# --- Onready Variables --- #


# --- Engine Callbacks --- #
func _ready() -> void:
	print($ScrollContainer.get_children())
	print($ScrollContainer.get_children(true))


# --- Public Functions --- #


# --- Private Functions --- #
# - Common Use Functions - #
# - Setget Functions - #
# - Signal Functions - #
"

This worked, phew. Thank you so much!

@caniac32767,

It would help the community if you could mark the post by @matheusmdx or the post by @gertkeno as the solution if it solved your problem. Thank you. This will help future readers identify the solving post.

1 Like