NetworkManager.Shutdown does not behave as advertised - HOW do you completely reset all UNET functionality?

My issue is really very simple, and I’ve seen other people with similar problems, however no real solution that works for me.

I have a game with three scenes: MainMenu, Lobby, and Game.

Lobby-scene is used as a simplified “find quick game”-lobby with a NetworkManager deriving from NetworkLobbyManager. Game-scene works both in multiplayer mode and in singleplayer mode. MainMenu-scene should be self explanatory.

I’m having issues when leaving to MainMenu after initializing the NetworkManager system. If I just leave without trying to destroy network functionality I have issues when returning to Lobby and there seems to be a lot to keep track of and this solution feels generally unstable.

So I think “fine, I’ll just completely reset all network functionality.” The flow works perfect when I enter Lobby from MainMenu the first time, so if I can just return to that state (a “clean” MainMenu), then my problems are gone.

This is pretty much how NetworkManager.Shutdown is explained in the docs):

“Shuts down the NetworkManager completely and destroy the singleton. This is required if a new NetworkManager instance needs to be created after the original one was destroyed. The example below has a reference to the GameObject with the NetworkManager on it and destroys the instance before calling Shutdown() and switching scenes.”


The problem with this is that it doesn’t work. This is my code:

    public void ReturnToMainMenu()
        if (IsFading) return;
        IsFading = true;
        _fader.FadeOut(0.7f, () =>
            _fader.FadeIn(0.7f, () =>
                IsFading = false;

What happens is that a new NetworkManager is created when I enter MainMenu and starts doing all kinds off stuff, which really messes up the state of things.
I just really, really, really would like to enter a clean, Unet-less state after once initiating the NetworkManager machine. Is this possible? If not, why?

Hey @Pusselbit, did you find an answer to this issue ?
I am currently facing the exact same problem
many thanks!