Using Thunder without HLAPI Network Manager?

Hi there. I been experimenting with integrating Thunder into my game with its existing UNet implementation. My game previously supported only local multiplayer which is part of why I opted for a streamlined match creation process without using UNet's Network Manager. I'd like to maintain that design as I move to internet based multiplayer with match making. However, I haven't been successful in getting the Photon Network Layer to properly initialize without using the of the Custom Network Manager. If I use the Custom Matchmaker class without the Network Manager the log output I see suggests that Unity's standard Unity implementation is still being used.

Failed because of invalid projectid setup. Please verify project setup at[System.FormatException: FAILURE Returned from server: Failed because of invalid projectid setup. Please verify project setup at

If I attempt to explicitly use the Photon Matchmaker (which is presumably not using it as intended?) I see this null exception.

Loading Photon Transport Layer

NullReferenceException: Object reference not set to an instance of an object
UnityEngine.Networking.Match.PhotonMatchmaker.loadPhotonTransportLayer () (at /Users/ramonmelo/Documents/ExitGames/Thunder/PhotonThunderUNet/Thunder/PhotonMatchmaker.cs:131)
UnityEngine.Networking.Match.PhotonMatchmaker.Start () (at /Users/ramonmelo/Documents/ExitGames/Thunder/PhotonThunderUNet/Thunder/PhotonMatchmaker.cs:92)

It would be great to get some insight into whether the current Thunder implementation requires use of the Custom Network Manager or I'm just doing something wrong with the initialization / configuration of Thunder. Also, it's probably worth mentioning that after installing Thunder my local multiplayer implementation continues to work just fine.


  • ramonmelo
    Hello Nomo,

    Running the demo project it worked fine ? Or are you getting the same errors ?

    The CustomNetworkManager class is just a place holder for the manager from the developer. You just need the extend the PhotonNetworkManager class.

    One note is that in our implementation, was needed to override some behaviors from the original NetworkManager, specifically the methods Start, OnMatchCreate and OnMatchJoined. If you need to reimplement any of these, make your override but call the base method on the first line. This will garantee that our expected behavior will occurs and you can take advantage of the callbacks for you code.