Hey everyone,
I was wondering if there is a good way to pre-load online scenes with UNET.
I use a usual game menu as the offline scene, and a quite big level as the online scene. To reduce loading times for the online scene after a game is actually started, I would like to start pre-loading the online scene in the background while the user is still navigating the menu in the offline scene.
I am afraid that such an approach will be further complicated because of the NetworkManager API. Currently, I think there are 2 significant design flaws (also see these 2 threads which further deal with these flaws: #1, #2):
- The ClientChangeScene function is internal and cannot be overriden. Thus, it is not possible to access this function from a custom, inherited NetworkManager and it is not possible to hook into the scene transition logic. I think this is badly missing option, especially as probably most real-world games will need at least some modifications and don’t want to go with the default vanilla NetworkManager.
- The AsyncOperation variable s_LoadingSceneAsync is private and not accessible either. It would also help to change this one to protected.
Anyway, maybe there is still a way to do the pre-loading with the current NetworkManager design.
So, any help is much appreciated.