void Update() { if (netDiscovery.isClient) { if (netDiscovery.broadcastsReceived.Count == 0) { elapsedTime += Time.deltaTime; if (elapsedTime > waitSecondsForServer) { netDiscovery.StopBroadcast(); netDiscovery.StartAsServer(); netManager.StartHost(); Debug.Log("No hosts were found, setting up as a host."); if (connectingWindow != null) { connectingWindow.SetActive(false); } } } else if (!isConnected) { var brdReceived = netDiscovery.broadcastsReceived; var brdKeys = brdReceived.Keys.ToArray(); NetworkBroadcastResult invitation = brdReceived[brdKeys[0]]; string msg = NetworkDiscovery.BytesToString(invitation.broadcastData); Debug.Log("Broadcast from host at " + invitation.serverAddress + " was received: " + msg); Debug.Log("Port: " + msg.Split(':')[2]); netManager.networkPort = int.Parse(msg.Split(':').Last()); //NetworkManager:address:port netManager.networkAddress = invitation.serverAddress; netManager.StartClient(); isConnected = true; netDiscovery.StopBroadcast(); if (connectingWindow != null) { connectingWindow.SetActive(false); } NetworkManager.singleton.client.RegisterHandler(MsgType.Disconnect, OnNetworkDisconnect); } } if (isConnected && !NetworkManager.singleton.client.handlers.ContainsValue(OnNetworkDisconnect)) { NetworkManager.singleton.client.RegisterHandler(MsgType.Disconnect, OnNetworkDisconnect); } }