MultiplayerSpawner vs MultiplayerSynchronizer

I am fairly new to the multiplayer capabilities of Godot. One thing I am struggling to wrap my head around is the difference in when you would use the multiplayersynchronizer vs the multiplayerspawner. I’m sure they are meant to serve different purposes, but my understanding is that the spawner can replicate properties of objects and I know the synchronizer can as well. The documentation isn’t real helpful to me in understanding use cases and how they would be applied. Just looking to see if anyone can provide clarity on when you would use one or the other or how they may be used together.

I’m also relatively new to this, so I can answer your question from my level of understanding, but it may not be comprehensive. When you’re playing a multiplayer game, using MultiplayerSpawner is essential because it determines where in the game objects (like players, monsters, NPCs) are spawned using node resources. MultiplayerSpawner creates counterparts of these objects on both the server and clients for synchronization purposes. However, not all custom attributes are synchronized. MultiplayerSynchronizer is an attribute synchronizer that’s bound to the player, monster, and NPC objects. It allows you to choose which object attributes to synchronize with the server, which then relays them to more clients.

Here’s the course I’ve been studying, but it’s shared by a user in China, so it might not be directly accessible to you. However, you might find similar content on YouTube that suits your needs:

Thank you, your response makes sense. I watched a few tutorials as well and after implementing them I think I have a slightly better understanding.

I am trying to make a fast paced top down shooter with multiplayer. I have some progress on a single game but the next step I want to do is having multiple player lobbies.

I never realized how hard networked games could be. I’m a software developer by trade but even so I feel extremely challenged by this.

Thank you so much for your feedback. I’m going to try that tutorial you sent