Background I'm a developer for about 7-8 years. I got a bachelor degree in IT. My study was called "Game Technology and Production". Most of my experience is in XR and UGUI due to my daily job. So as a challenge I started development of a hobby project. A multiplayer Tower Defense game using Netcode for GameObjects. I have no experience with other multiplayer API such as Mirror. So I wouldn't be able to compare them in terms of ease of use. The network manager The singleton pattern. Everytime you want to access anything you have to write NetworkManager.Singleton Want to access the NetworkSceneManager? NetworkManager.Singleton.SceneManager.LoadScene It would've been easier if the NetworkManager was a static class and the configuration of it in the inspector as a component that communicates with the static NetworkManager class. That way you can write NetworkManager.StartServer() NetworkSceneManager.LoadScene just like many other Unity based API. If you need the MonoBehaviour lifetime of Unity that could be done in a proxy component instantiated at the start of the server. Switching scenes I've setup a Main Menu and Lobby UI using UI Toolkit. Selecting multiplayer and a submenu 'Host' I start the NetworkManager server and switch the scene to the Lobby Scene. Upon entering the Lobby scene, I have a lobby controller that keeps track of the connected clients and their ready status. For every client connected I need to sync up their username, ready status and character / race in the UI. So I called a server rpc from the client to add themselves to the connected list with their username and last preferred character / race. I got an error telling me that the RPC was called on a NetworkObject that is not in the spawned object list. After quite some time debugging why, I found out that I switched the scene the regular way using Unity's SceneManager and not the NetworkSceneManager. It would've been nice if I had a warning / error message that I changed scenes with the regular API. Or it would've been even better if you can use the regular SceneManager API. There is a SceneManagerAPI.overrideAPI perhaps you can hook in the required functionality through that. So you wouldn't need to call LoadScene through the NetworkManager.Singleton.SceneManager. Documentation Some pages are already out of date. Like the NetworkVariables still mentions NetworkDictionary which has been removed in 1.0.0. Missing Features A lobby controller component with connection UnityEvents and a client ready UnityEvent. It would make prototyping a lot faster that handles these. ClientConnected, ClientDisconnected, ClientLostConnection, ClientReconnected, ClientReady Addressables support, this is something I've already mentioned in another thread. It's on the roadmap. Having a list of prefabs on a NetworkManager loads them all into memory even when you don't use them. In my case if I were to have 20 different towers per race and have 4-5 different races. That'd mean I have to load 80-100 towers into memory at all times. Even though one of those races may not be chosen or a large selection of towers would not be available. But they're still being loaded into memory at the Bootstrap scene. Addressables in this case would be nice to load in the prefab only when it is required. Unclear Ways of referencing choices made by the player. Choosing a character, choosing a tower. In single player I'd have a scriptable object with a list of player selected towers as AssetReference. Instantiate them when selected through the UI. In multiplayer I somehow need to synchronize the selection into a List. Which is something I can't wrap my head around how since you can't reference prefabs. I have looked at the Boss room example but that project feels like a code spaghetti to me. Finding a needle in a haystack. Which is why I looked at the bitesize examples but that case doesn't seem to be in there. It does have a lobby but no client based selections. I'm learning slowly but I could use some more bitesize examples on how to mess around with data and references. I find 'to the point' examples easier to follow than the boss room project. The post turned more into a bit of a rant but I really want to try to create a multiplayer game with it. I just need to learn more before I can really use it to create a game with it.