Help me understand multiplayer implementation

Godot Version

4.3

Question

I’m creating a two player card game and all of the gameplay mechanics are functioning properly so it’s time to implement the multiplayer. However, I am brand new to networking so I’m not quite sure how to go about it and I haven’t been able to find any resources that explain how to implement the type of asynchronous multiplayer that is required for my game. I followed a tutorial and was able to get a basic server/client setup running, but my problem is synchronizing the information between the client and the server. As I understand, there seems to be two different ways to synchronize information across instances: using a MultiplayerSynchronizer, or using @rpc calls. I’m not quite sure which approach is appropriate for my situation. I don’t want to waste time going down one rabbit hole when I should have been going down a different one. Which is more appropriate for my situation?

1 Like

Just to warn you, it is best to implement multiplayer from the start of the project, as it impacts design decisions.

MultiplayerSpawner and Synchronizer are both built on top of rpc, so they handle at lot of the features you might implement if you just used rpc. They are best for keeping parts of the server-client scene tree in sync. For me the part that multiplayerspawner and synchronizer shine is it simplifies hot joining an ongoing game. RPC is still needed for other things.