godotengine / godotengine/godot

Can't change parent of a node that has MultiplayerSpawners embedded. Server crashes.

Open
#93,380 2 comments 0 reactions 0 assignees View on GitHub
bug crash topic:multiplayer
Dominant language
C++
Stars
117k
Forks
26.8k
PR merge metrics
PR metrics pending

Description

### Tested versions

4.3.beta1

### System information

Windows 11 - Godot 4.3.beta1 - Forward+

### Issue description

Hello there, Sorry if I am reporting too many bugs for multiplayer issues. If I'm mistaken in what I've seen so far please let me know, but I haven't found a way to get to this specific goal, which is, to have a synchronized Entity through MultiplayerSpawners, and also have that Entity synchronize some of its children through MultiplayerSpawners too.

Thank you for your patience!

### Steps to reproduce

1. Make a main scene and add 2 nodes A and B as siblings to it. Each of them will synchronize the same scene through MultiplayerSpawners.
2. Create the empty Node scene D.
3. Create the scene C with a MultiplayerSpawner node that synchronizes the child scene D.
4. Run the game.
5. Connect server and client.
6. Instantiate C in A on the server, there is no need to instantiate the children.
7. Try to A.remove_child(C) and then B.add_child(C)
8. Server crashes

### Minimal reproduction project (MRP)

[minimal-project.zip](https://github.com/user-attachments/files/15910876/minimal-project.zip)

Contributor guide

Open the contributing guide

Research direction

Start by running the attached minimal-project.zip with the stated Godot 4.3.beta1 setup and follow the eight reproduction steps, especially moving C from A to B on the server. Trace the MultiplayerSpawner and node-parenting path that handles this move. Done means the server no longer crashes and the synchronized entity remains functional after reparenting.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, godot
Domain
networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.