Unity 5.4 - NetworkLobbyManager can't accept new connection [hostId: -1 connectionId: 0 isReady: False channel count: 0], not in lobby and game already in progress.

So, I’m trying to make my own HUD for the NetworkLobbyManager in Unity 5.4. Of course, they’ve done all kinds of changes to networking, so I’m having a hard time finding a solution to this error. This is my current code, I think I’m doing things right, but I’m not entirely sure.

using UnityEngine;
using UnityEngine.Networking;
using UnityEngine.UI;
using System.Collections;
 
public class MainMenuBehavior : MonoBehaviour
{
   public NetworkLobbyManager mgr;
 
   public GameObject MainMenuPanel;
   public GameObject CreateGamePanel;
   public GameObject JoinGamePanel;
   public GameObject SettingsPanel;
   public GameObject CreditsPanel;
 
   private string PlayerName;
 
   private string MatchName;
   private string MatchPassword;
 
   public bool isLan = false;
 
   void Awake()
   {
     mgr.StartMatchMaker();
   }
 
   /***
    * Begin Button Network Functionality Code
   ***/
   public void OnHostLAN()
   {
     isLan = true;
   }
 
   public void OnHostMatchMaker()
   {
     isLan = false;
   }
 
   // Creates A Lobby
   public void OnCreateLobby()
   {
     if (isLan)
     {
       mgr.matchMaker.CreateMatch("Test Game LAN", 8, true, "", "public address", "private address", 0, 0, mgr.OnMatchCreate);
       // TODO: Setup Connection To LAN Lobby
     }
     else
     {
       mgr.matchMaker.CreateMatch("Test Game Matched", 8, true, "", "", "", 0, 0, mgr.OnMatchCreate);
       // TODO: Setup Connection To Non-LAN Lobby
     }
   }
 
   // This Attempts to Connect To A Lobby
   public void OnConnectToLobby()
   {
   }
 
   // This Refreshes The List Of Lobbies
   public void OnRefreshGames()
   {
   }
   /***
    * End Button Network Functionality Code
   ***/
 
   /***
    * Begin GUI Controller Code
   ***/
   public void OnCreateMultiplayerMenu()
   {
     if (MainMenuPanel != null)
       MainMenuPanel.SetActive(false);
     if (CreateGamePanel != null)
       CreateGamePanel.SetActive(true);
     else
       MainMenuPanel.SetActive(true);
     if (JoinGamePanel != null)
       JoinGamePanel.SetActive(false);
     if (SettingsPanel != null)
       SettingsPanel.SetActive(false);
     if (CreditsPanel != null)
       CreditsPanel.SetActive(false);
   }
 
   public void OnJoinMultiplayerMenu()
   {
     if (MainMenuPanel != null)
       MainMenuPanel.SetActive(false);
     if (CreateGamePanel != null)
       CreateGamePanel.SetActive(false);
     if (JoinGamePanel != null)
       JoinGamePanel.SetActive(true);
     else
       MainMenuPanel.SetActive(true);
     if (SettingsPanel != null)
       SettingsPanel.SetActive(false);
     if (CreditsPanel != null)
       CreditsPanel.SetActive(false);
   }
 
   public void OnSettingsMenu()
   {
     if (MainMenuPanel != null)
       MainMenuPanel.SetActive(false);
     if (CreateGamePanel != null)
       CreateGamePanel.SetActive(false);
     if (JoinGamePanel != null)
       JoinGamePanel.SetActive(false);
     if (SettingsPanel != null)
       SettingsPanel.SetActive(true);
     else
       MainMenuPanel.SetActive(true);
     if (CreditsPanel != null)
       CreditsPanel.SetActive(false);
   }
 
   public void OnCreditsMenu()
   {
     if (MainMenuPanel != null)
       MainMenuPanel.SetActive(false);
     if (CreateGamePanel != null)
       CreateGamePanel.SetActive(false);
     if (JoinGamePanel != null)
       JoinGamePanel.SetActive(false);
     if (SettingsPanel != null)
       SettingsPanel.SetActive(false);
     if (CreditsPanel != null)
       CreditsPanel.SetActive(true);
     else
       MainMenuPanel.SetActive(true);
   }
 
   public void OnQuitGameMenu()
   {
   }
 
   public void OnReturnToMainMenu()
   {
     mgr.StopMatchMaker();
 
     if (CreateGamePanel != null)
       CreateGamePanel.SetActive(false);
     if (JoinGamePanel != null)
       JoinGamePanel.SetActive(false);
     if (SettingsPanel != null)
       SettingsPanel.SetActive(false);
     if (CreditsPanel != null)
       CreditsPanel.SetActive(false);
     if (MainMenuPanel != null)
       MainMenuPanel.SetActive(true);
   }
   /***
    * END GUI Controller Code
   ***/
}

If anyone knows what I’m doing wrong, I’d appreciate a solution. I’ve tried searching the forums and answers, even Google, but haven’t found anything similar. I really want to get matchmaking lobbies and LAN lobbies up and running.

2 Answers

2

someone solved the problem?

and do you solved this problem?

Basically you need to create a separate process in the background which uses different voice detection software, and have it communicate back to Unity. The problem with this is, the voice detection software we tried really sucked. Basically it was pre-Cortana Windows voice detection, and it was TERRIBLE. Eventually, we just decided to tell people that, if they wanted voice recognition, they needed an up-to-date version of Windows. If you want, you can try using Google's voice recognition APIs, which should work fine on all versions of Windows, though you'll need to pay for those...