godotengine / godotengine/godot

Multiplayer synchronized doesn't emit synchronized signal with REPLICATION_MODE_ON_CHANGE properties

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

Description

### Tested versions

Tested on vanilla 4.2.1 and 4.2.2 (Custom build, but it doesn't mess with core functionality nor multiplayer stuff)

### System information

Godot v4.2.2.rc (fb28924c5) - Arch Linux #1 ZEN SMP PREEMPT_DYNAMIC Wed, 29 Nov 2023 00:40:39 +0000 - X11 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 2060 (nvidia; 545.29.06) - Intel(R) Core(TM) i9-10900KF CPU @ 3.70GHz (20 Threads)

### Issue description

So, apparently, `MultiplayerSynchronizer` won't emit `synchronized` signal when properties with `REPLICATION_MODE_ON_CHANGE` replication mode get synced.

### Steps to reproduce

1. Setup a basic network environment
2. Create a multiplayer syncrhonizer node
3. Add a property with "On change" sync mode
4. Connect the `synchronized` signal to a desired node
5. Enjoy the sadness

### Minimal reproduction project (MRP)

[MP2.zip](https://github.com/godotengine/godot/files/14341181/MP2.zip)

Contributor guide

Open the contributing guide

Research direction

Start with the attached MP2.zip minimal reproduction and the MultiplayerSynchronizer behavior described in the issue. Verify whether properties using REPLICATION_MODE_ON_CHANGE trigger the synchronized signal, then confirm the signal is emitted for that case without breaking other synchronization modes.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, godot
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.