Unity-Technologies / multiplayer-community-contributions

Community contributions to Unity Multiplayer Networking products and services.
MIT License
421 stars 161 forks source link

NullReferenceException when shutting down NetworkManager (websocket transport) #205

Closed BigSpaceships closed 1 year ago

BigSpaceships commented 1 year ago

When I call NetworkManager.Singleton.Shutdown() or exit play mode in the editor I get a NullReferenceExpection in WebSocketTransform.DisconnectLocalClient()

I am using WebSocket Transport 2.0.0 with version 1.2.0 of Netcode.

Complete error:

NullReferenceException: Object reference not set to an instance of an object
Netcode.Transports.WebSocket.WebSocketTransport.DisconnectLocalClient () (at Library/PackageCache/com.community.netcode.transport.websocket@2a5a082ba7/Runtime/WebSocketTransport.cs:27)
Unity.Netcode.NetworkManager.ShutdownInternal () (at Library/PackageCache/com.unity.netcode.gameobjects@1.2.0/Runtime/Core/NetworkManager.cs:1446)
Unity.Netcode.NetworkManager.OnDestroy () (at Library/PackageCache/com.unity.netcode.gameobjects@1.2.0/Runtime/Core/NetworkManager.cs:1349)
Unity.Netcode.NetworkManager.OnApplicationQuit () (at Library/PackageCache/com.unity.netcode.gameobjects@1.2.0/Runtime/Core/NetworkManager.cs:1343)
BigSpaceships commented 1 year ago

So it seems to only happen when running as a host and just adding a null check to DisconnectLocalClient works fine.