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
- Fixing Message Loss in UMPE During Domain Reload
- The Editor freezes when ScheduleReadOnly of IJobParallelForTransform with dependency is used
- Text is truncated in the Inspector when the display scale is set to 150%
- CancellationTokenSource(<timeout>) has incorrect cancellation status when used in WebGL Player
- VFX property value names are cut off when properties with 'Arc' are viewed in the VFX Blackboard
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.