godotengine / godotengine/godot
MultiplayerSynchronizer in a bad state after saving branch as scene that it was referencing.
- Dominant language
- C++
- Stars
- 117k
- Forks
- 26.8k
- PR merge metrics
- PR metrics pending
Description
### Tested versions
- Found bug in 4.2.2 custom build that doesn't touch anything with Multiplayer Synchronizers
### System information
Godot v4.2.2.stable unknown - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1070 (NVIDIA; 31.0.15.3713) - AMD Ryzen 7 3700X 8-Core Processor (16 Threads)
### Issue description
MultiplayerSynchronizer should display all properties in its path. It looks like when I `saving branch as scene` for a property it was replicating it continued to try and replicate it even though the UI just showed it as referencing the root node with the property name. MultiplayerSynchronizer does not allow you to replicate the same property if you try and add it. The below images show multiple instances of the same property name, but I believe the Path is actually different. One image shows a reference to a path that no longer exists after I `saving branch as scene` and then renamed some of the nodes.



### Steps to reproduce
Have multiplayer synchronizer. Replicate fields position and rotation on the root, and some children. Save the children branch as a new scene. Modify that new scene to have different node names. Instantiate and add that scene as a child to the initial root.
### Minimal reproduction project (MRP)
[MultiplayerSyncIssue.zip](https://github.com/godotengine/godot/files/15487709/MultiplayerSyncIssue.zip)
Contributor guide
Research direction
Start with the attached MultiplayerSyncIssue.zip and reproduce the case using MultiplayerSynchronizer, saving a child branch as a scene and renaming its nodes. Inspect how the synchronizer displays and retains property paths after instancing the changed scene; done means obsolete paths are no longer replicated and the UI shows the actual distinct paths.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- game-dev, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100