godotengine / godotengine/godot
Nodes in typed dictionaries do not do not show changes in game made by code (4.4 dev 3 / C#)
- Dominant language
- C++
- Stars
- 117k
- Forks
- 26.8k
- PR merge metrics
- PR metrics pending
Description
### Tested versions
- Godot 4.4 dev 3
### System information
Godot v4.4.dev3.mono - Windows 10.0.22631 - Multi-window, 2 monitors - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 4070 Ti (NVIDIA; 32.0.15.6590) - 13th Gen Intel(R) Core(TM) i9-13900KF (32 threads)
### Issue description
I have multiple Nodes (in my case Controls) in a typed dictionary. The key is a string and value is the control.
When I want to access the Control Node in the typed dictionary and change its visibility for example, it does not reflect the made changes in game.
It works fine when the node is just a exported property. But all changes (even changing text of labels) are not showen. When debugging the changes seem to be adopted but in the game window nothing has changed.
Example:
I made two tests.
Pressing Right MouseButton makes changes to the exported Label "SameLabel". This is working fine.
Pressing Left MouseButton wants to make changes to the same Label but it is just in a dictionary. But this is not working. The changes will reflect in code but not in game
**Pressing RMB**
Changes are done correctly
**Pressing LMB**
Changes are not done in game
### Steps to reproduce
1. Export a Godot.Collections.Dictionary and add a Node as value
2. Get the Node via Code
3. Change ANYTHING via code from the Node (This should not work)
### Minimal reproduction project (MRP)
[Issues.zip](https://github.com/user-attachments/files/17267189/Issues.zip)
Contributor guide
Assessment
This issue has not been assessed yet.