MirrorNetworking / Mirror

#1 Open Source Unity Networking Library

Home Page:https://mirror-networking.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KCPTransport null OnDisconnect action when exiting Play Mode

Birgerev opened this issue · comments

Describe the bug
Me and some of the users of my asset store package are receiving a null error in the KCP transport every time we exit play mode. It doesn't seem to be causing any functional issues, but I'm suspecting this might be a bug with the transport since the errors seems to arise because the KCPTransport tries to Invoke a null OnDisconnect action.

Stack Trace:
NullReferenceException: Object reference not set to an instance of an object
kcp2k.KcpTransport.b__29_3 () (at Assets/Mirror/Transports/KCP/KcpTransport.cs:119)
kcp2k.KcpClient.OnDisconnected () (at Assets/Mirror/Transports/KCP/kcp2k/highlevel/KcpClient.cs:86)
kcp2k.KcpPeer.Disconnect () (at Assets/Mirror/Transports/KCP/kcp2k/highlevel/KcpPeer.cs:743)
kcp2k.KcpTransport.ClientDisconnect () (at Assets/Mirror/Transports/KCP/KcpTransport.cs:178)
Mirror.NetworkClient.Shutdown () (at Assets/Mirror/Core/NetworkClient.cs:1720)
Mirror.NetworkManager.OnClientDisconnectInternal () (at Assets/Mirror/Core/NetworkManager.cs:1306)
Mirror.NetworkClient.OnTransportDisconnected () (at Assets/Mirror/Core/NetworkClient.cs:419)
Mirror.LocalConnectionToServer.Disconnect () (at Assets/Mirror/Core/LocalConnectionToServer.cs:111)
Mirror.NetworkClient.Disconnect () (at Assets/Mirror/Core/NetworkClient.cs:245)
Mirror.NetworkManager.StopClient () (at Assets/Mirror/Core/NetworkManager.cs:672)
Mirror.NetworkManager.OnApplicationQuit () (at Assets/Mirror/Core/NetworkManager.cs:695)

This happens every time I exit play mode after being connected/hosting.
We also use a online & offline scene setup, which could explain why this occurs in KCPTransport.Awake() when I exit play mode, as it loads the offline scene when exiting (disconnecting) which could invoke Awake().

image
Inside the KCPTransport.Awake() ^^

Desktop (please complete the following information):

  • OS: [e.g. Windows, MacOS]
  • Build target: Editor, PC Standalone, Oculus Standalone Android Build
  • Unity version: 2022.3.19f1
  • Mirror branch: master version 86.13.4

Seems that this might have been fixed #3736