Godot Version
4.5
I have some problems with MultiplayerSynchronizer not synchronizing properties, such as position.
I have my two clients (lets call them client A and client B) which connect to a server.
If client A connects to the server and spawns a character controller, and then client B connects to the server, client A’s character controller is spawned to client B’s instance, but it does not move if client A moves the character on his screen. By observing the server’s view, I can see that client A’s controller is synced to the server.
I also validated that the authority is same on the character controller for both client’s, by printing get_multiplayer_authority()
If client A and client B is both connected to the server when client A spawn’s their character, client B can see the client A move their character
Note: I dont use MultiplayerSpawner
Note2: I can see some rpc calls called by the Client A happening on Client B, such as jumping animations, shooting
I spawn characters for late joiners like this:
var player_scene = load("res://entities/Player.tscn")
var player: Player = player_scene.instantiate()
player.set_entity_info(entity_info)
get_tree().root.get_node("Game").add_child.call_deferred(player)
player.set_entity_info(entity_info) sets the Node’s name to be the authority id
and in the player scripts _enter_tree(), I have
set_multiplayer_authority(int(name))
I feel like i might be using the MultiplayerSynchronizer wrong, but I didnt find much information on this issue ![]()
Any help would be greatly appreciated