Nodes strangely duplicated at Loading project --> project dead ( well ...sick.)

Godot Version

Godot 4.5.1

Question

I get this error when loading the project.
“An incoming node’s name clashes with scene TADA already in the scene ( presumably from a more nested instance.) The less nested node will be renamed. Please fix and re-save the scene.”

And then the tree seems duplicated … and the game is broken.
I can fix it by re-importing and re-configurating my objects (with a plugin i made.)

Below, you have the 2 versions of my Tree (The good, and the bad one.) … sorry, it is lengthy …
(I get it with get_tree().get_root().print_tree_pretty() )

NB:
1°) I am a newcomer. This is my first Godot project.
2°) I import my 3D objects from blender.
I save the blend file in the Godot folder and I drag and drop it on my main scene.
3°) after that I use a plugin to configurate the objects.
-It attachs a script to some of them

  • creates staticBodies and collisions for some of them
    After the plugin execution, the nodes that are inside the imported scene node appear ouside of it, attached to it.
    4°) I used Chat GPT to generate a part of the code (the more Godot-native part of it) and I checked it (more or less)

T H A N K S for any idea.

Here is the GOOD tree after I fix it ( re-importing and executing my plugin ).
Godot Engine v4.5.1.stable.official.f62fdbde1 - https://godotengine.org
Vulkan 1.3.280 - Forward+ - Using Device #0: NVIDIA - NVIDIA GeForce RTX 3070

┖╴root
┠╴Globals
┖╴Main
┠╴CanvasLayer
┃ ┖╴Button
┠╴DirectionalLight3D
┃ ┖╴camera Rig
┃ ┖╴Camera3D
┖╴scene-MUKTIPLE
┠╴Point
┠╴Camera
┠╴Point_001
┠╴Point_002
┠╴Point_003
┠╴floor_001
┃ ┖╴floor
┠╴skill-origine
┃ ┖╴skill-origine_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_001
┃ ┖╴skill_001_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_002
┃ ┖╴skill_002_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_003
┃ ┖╴skill_003_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_004
┃ ┖╴skill_004_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_005
┃ ┖╴skill_005_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_006
┃ ┖╴skill_006_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill-origine_001
┃ ┖╴skill-origine_001_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_007
┃ ┖╴skill_007_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_008
┃ ┖╴skill_008_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_009
┃ ┖╴skill_009_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_010
┃ ┖╴skill_010_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_011
┃ ┖╴skill_011_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_012
┃ ┖╴skill_012_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_013
┃ ┖╴skill_013_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_014
┃ ┖╴skill_014_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_015
┃ ┖╴skill_015_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_016
┃ ┖╴skill_016_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_017
┃ ┖╴skill_017_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_018
┃ ┖╴skill_018_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_Final
┃ ┖╴skill_Final_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill-origine_002
┃ ┖╴skill-origine_002_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_020
┃ ┖╴skill_020_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_021
┃ ┖╴skill_021_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_022
┃ ┖╴skill_022_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill-origine_003
┃ ┖╴skill-origine_003_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_023
┃ ┖╴skill_023_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_024
┃ ┖╴skill_024_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_025
┃ ┖╴skill_025_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_Final_001
┃ ┖╴skill_Final_001_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_Final_002
┃ ┖╴skill_Final_002_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_Final_003
┃ ┖╴skill_Final_003_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_026
┃ ┖╴skill_026_StaticBody
┃ ┖╴AutoCollisionShape3D
┖╴skill_Final_004
┖╴skill_Final_004_StaticBody
┖╴AutoCollisionShape3D

Here is the BAD duplicated tree After reloading + error message
Godot Engine v4.5.1.stable.official.f62fdbde1 - https://godotengine.org
Vulkan 1.3.280 - Forward+ - Using Device #0: NVIDIA - NVIDIA GeForce RTX 3070

┖╴root
┠╴Globals
┖╴Main
┠╴CanvasLayer
┃ ┖╴Button
┠╴DirectionalLight3D
┃ ┖╴camera Rig
┃ ┖╴Camera3D
┖╴scene-MUKTIPLE
┠╴Point
┠╴Camera
┠╴Point_001
┠╴Point_002
┠╴Point_003
┠╴floor_001
┃ ┖╴floor
┠╴skill-origine
┠╴skill_001
┠╴skill_002
┠╴skill_003
┠╴skill_004
┠╴skill_005
┠╴skill_006
┠╴skill-origine_001
┠╴skill_007
┠╴skill_008
┠╴skill_009
┠╴skill_010
┠╴skill_011
┠╴skill_012
┠╴skill_013
┠╴skill_014
┠╴skill_015
┠╴skill_016
┠╴skill_017
┠╴skill_018
┠╴skill_Final
┠╴skill-origine_002
┠╴skill_020
┠╴skill_021
┠╴skill_022
┠╴skill-origine_003
┠╴skill_023
┠╴skill_024
┠╴skill_025
┠╴skill_Final_001
┠╴skill_Final_002
┠╴skill_Final_003
┠╴skill_026
┠╴skill_Final_004
┠╴skill-origine2
┃ ┖╴skill-origine2_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_019
┃ ┖╴skill_019_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_027
┃ ┖╴skill_027_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_028
┃ ┖╴skill_028_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_029
┃ ┖╴skill_029_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_030
┃ ┖╴skill_030_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_031
┃ ┖╴skill_031_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill-origine_004
┃ ┖╴skill-origine_004_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_032
┃ ┖╴skill_032_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_033
┃ ┖╴skill_033_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_034
┃ ┖╴skill_034_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_035
┃ ┖╴skill_035_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_036
┃ ┖╴skill_036_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_037
┃ ┖╴skill_037_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_038
┃ ┖╴skill_038_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_039
┃ ┖╴skill_039_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_040
┃ ┖╴skill_040_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_041
┃ ┖╴skill_041_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_042
┃ ┖╴skill_042_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_043
┃ ┖╴skill_043_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_Final2
┃ ┖╴skill_Final2_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill-origine_005
┃ ┖╴skill-origine_005_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_044
┃ ┖╴skill_044_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_045
┃ ┖╴skill_045_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_046
┃ ┖╴skill_046_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill-origine_006
┃ ┖╴skill-origine_006_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_047
┃ ┖╴skill_047_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_048
┃ ┖╴skill_048_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_049
┃ ┖╴skill_049_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_Final_005
┃ ┖╴skill_Final_005_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_Final_006
┃ ┖╴skill_Final_006_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_Final_007
┃ ┖╴skill_Final_007_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_050
┃ ┖╴skill_050_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill_Final_008
┃ ┖╴skill_Final_008_StaticBody
┃ ┖╴AutoCollisionShape3D
┠╴skill-origine3
┠╴skill_051
┠╴skill_052
┠╴skill_053
┠╴skill_054
┠╴skill_055
┠╴skill_056
┠╴skill-origine_007
┠╴skill_057
┠╴skill_058
┠╴skill_059
┠╴skill_060
┠╴skill_061
┠╴skill_062
┠╴skill_063
┠╴skill_064
┠╴skill_065
┠╴skill_066
┠╴skill_067
┠╴skill_068
┠╴skill_Final3
┠╴skill-origine_008
┠╴skill_069
┠╴skill_070
┠╴skill_071
┠╴skill-origine_009
┠╴skill_072
┠╴skill_073
┠╴skill_074
┠╴skill_Final_009
┠╴skill_Final_010
┠╴skill_Final_011
┠╴skill_075
┖╴skill_Final_012

Well … no answer.
Nobody here has ever had this kind of issue ?
Maybe someone could tell me how I could make this question clearer ?

I personally never had my nodes duplicated out of nowhere.
You say it yourself, this happens after you apply the plugin. You all but literally say it breaks your scene. I don’t think anyone here knows about the plugin you have made better than you do.

Thanks Rpahut for your answer.

I did not write that the objects where duplicated AFTER the use of the plugin.

I wrote :

“I get this error when loading the project.
“An incoming node’s name …”
And then the tree seems duplicated … and the game is broken.”

The plugin is used after that.

I find your answer slightly agressive. Was your day work particularly difficult ?
I sympathize. Sincerely.
But a forum is made to help and being helped … and rarely to show each other disdain

BTW :slight_smile: I have a similar problem at re-import :

You see these strange nodes after floor.

It says there you 1) import from blender, 2) add to scene, and 3) use the plugin to configure the nodes. Is the plugin you write about unrelated to the issue?

Can you point exactly which nodes get duplicated and describe what they are?


Just to close the loop on this in case someone hits the same issue later:

In my setup I have:

  • a main scene

  • a 3D scene imported/instanced from Blender

  • a custom editor plugin that:

    • finds certain nodes (skills),

    • attaches a script to them,

    • generates StaticBody3D + CollisionShape3D children.

The error on project load was:

“An incoming node’s name clashes with scene X already in the scene (presumably from a more nested instance). The less nested node will be renamed. Please fix and re-save the scene.”

Then, after loading, I could see what looked like duplicated nodes (skill_002, etc.) and my game logic broke.

The root cause was in my plugin: when it attached the script, it also forced the owner of existing nodes to the root scene:

if n.get_script() == null:
    n.set_script(skill_script)
    n.owner = root    # ← this was the problem

Some of those nodes actually belong to an instanced scene (the imported Blender scene).
By assigning n.owner = root, I was effectively telling Godot:

  • “This node belongs to the instanced scene” and

  • “This same node also belongs to the main scene.”

So when Godot reloaded the project:

  1. It instanced the child scene (with its original nodes).

  2. It also applied the edited data saved in the main scene, which now claimed ownership of the same nodes.

  3. Result: two nodes with the same name at the same level ⇒ name clash ⇒ Godot renames one of them (skill_001skill_002) and prints the error.

Fix:

  • Do not change owner on already existing nodes coming from an instanced/imported scene.

  • Only set owner for nodes that the plugin creates (StaticBody3D, CollisionShape3D, etc.).

So the corrected part of the plugin looks like this:

if n.get_script() == null:
    n.set_script(skill_script)
    # Do NOT touch n.owner here
    # if n.owner == null: n.owner = root  # only if you really need to cover rare cases
    attached += 1

Once I removed the n.owner = root line for existing nodes, the error disappeared and the scene stopped duplicating itself on load.

You were right that the problem was in my plugin; it just wasn’t obvious at first because the symptom only appeared later when re-opening the project, not immediately when running the tool.

Hope this helps someone down the line.

2 Likes