godotengine / godotengine/godot
Node references are empty when stored in nested arrays via tool scripts in the editor.
- Dominant language
- C++
- Stars
- 117k
- Forks
- 26.8k
- PR merge metrics
- PR metrics pending
Description
### Tested versions
Reproducable in: v4.5.1.stable.official [f62fdbde1], v4.4.1.stable.official[49a5bc7b6
### System information
Godot v4.5.1.stable - Ubuntu 25.04 25.04 on Wayland - X11 display driver, Multi-window, 2 monitors - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 4070 (nvidia; 580.82.07) - AMD Ryzen 7 5700X3D 8-Core Processor (16 threads) - 31.26 GiB memory
### Issue description
What doesn't work:
- Have a tool script that exports an array of arrays _(Type hints are optional, this can just be an array)_
- In this script, get a reference some nodes (exported field, get_nodes_in_group, etc)
- Add an array of these nodes to the first array
- Inspect the exported array in the editor, observe that the array structure exists but all the references are ``
- Save and reload the scene, restart the editor, etc, Observe that the references continue to be ``
What I expect to happen:
- Given that node references can be stored in nested just fine during runtime, i expect this to also work in the editor.
### Steps to reproduce
In the MRP:
- Open the attached test scene
- Select the `tester` node
- Click the `Fill Arrays` button
- Unfold the Nested Nodes array, observe that the references are ``
### Minimal reproduction project (MRP)
[nested_reference_mrp.zip](https://github.com/user-attachments/files/23565970/nested_reference_mrp.zip)
Contributor guide
Research direction
Open the attached nested_reference_mrp.zip, select the tester node, and use the Fill Arrays button to reproduce the empty references in the Nested Nodes array. Compare the editor result with runtime behavior, then verify that node references display correctly and remain present after saving, reloading, and restarting the editor.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- godot
- Domain
- devtools, game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100