Search Issue Tracker
Won't Fix
Votes
0
Found in
2019.2
2019.3.0f1
2020.1
Issue ID
1212048
Regression
No
[UNET] NetworkManager.ClientChangeScene is called when loading a scene with NetworkManager script
How to reproduce:
1. Open the submitted project
2. Build and run the project
3. Notice the text field that appears
4. Open the Loading scene in the Editor
5. Enter Play mode
Expected result: "Title scene" is written in the text field
Actual result: "Lobby scene" is written in the text field
Reproducible with: 2019.2.19f1, 2019.3.0f5, 2020.1.0a20
Notes:
The issue is only reproducible in the Editor and will not reproduce on a build.
The issue is not reproducible on Unity 2017.4 ClientChangeScene method is missing in NetworkManager.
Could not test on Unity 2018.4 due to Multiplayer HLAPI errors.
Disabling reload domain in Enter Play Mode Settings fixes the issue.
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- [Dragon Crashers] Build fails in U6
- [Dragon Crashers] 4 Shader error messages on import
- [Dragon Crashers] Readme text is white on light grey
- Cursor stays in front of the first character when entering text in the TextMeshPro field
- Searching in Hierarchy causes unwanted component calls
Resolution Note:
Afaikt weird behaviour is happening as a network manager is being created as the system thinks a domain reload has happened and it should be recreated/reset, immediately when entering playmode. That is then setting offline/online scenes and loads it. I could get behaviour expected by doing this
- Disable the networkcallback updater code in OnRuntimeInitializeOnLoad in NetworkIdentity.cs
- Create a script which does the updates instead, calls NetworkIdentity.UNetStaticUpdate in a LateUpdate(), UNetStaticUpdate needs to be made public.
- Add a GameObject with this updater script to the loader scene
The package needs to be internalised for these edits, can be copied from Libary/PackageCache to Packages. Hopefully this workaround will be enough for situations like this since the feature is deprecated and an official fix will likely not happen.