Quick answer: Godot MultiplayerSynchronizer dropping updates between peers? Most often the replication config has the wrong property path or a visibility filter is excluding the peer — fix the path and check filter return value.

A networked player ship’s health doesn’t update on remote clients reliably. The MultiplayerSynchronizer is on the wrong node or the property path doesn’t resolve.

Property Path Must Resolve

Open the synchronizer’s Replication Editor. Each property has a NodePath like ./Health:current — the colon separates node from property. A missing colon or wrong relative path silently no-ops.

Replication Interval

Set replication_interval to 0 for state that must arrive every authority frame. Non-zero throttles updates; values larger than your tick rate produce visible stale state.

Visibility Filters

synchronizer.set_visibility_for(peer_id, true)

If you wired a visibility filter callback, a returned false stops replication to that peer entirely — debug it with prints.

Authority Mismatch

Only the authority writes the synced property. A non-authority client mutating it locally produces ghost values that the next authority update overrides — jitter ensues.

Verifying

Two clients connected: a health change on the authority propagates to the other within a tick. The remote display never shows stale state for more than one frame.

“Skipped state is wrong path, throttle, or visibility filter. Check each before blaming the network.”

Add a debug overlay listing each synchronized property and its current value — it makes replication bugs visible at a glance instead of inferring from gameplay.