fix: soft synchronization errors if loading a new scene and setting it as active#4065
Open
NoelStephensUnity wants to merge 7 commits into
Open
Conversation
If the NetworkObject was not found then use "null" as the name of the NetworkObject.
This fixes the issue where the active scene could end up not being the 1st scene loaded which upon loading the active scene and previously SceneEventData relative loaded scenes would get unloaded when loading the active scene since this will can end up being loaded in SingleMode.
This fix just ignores any spawned objects when setting any just loaded InScenePlaced objects while running in the editor.
EmandM
approved these changes
Jul 2, 2026
Member
|
I guess this will also address issue commented in https://discussions.unity.com/t/netcode-for-gameobjects-v2-13-0-is-now-publicly-available/1723847/5 right? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose of this PR
This PR resolves an issue discovered when investigating #4049. When client synchronization is set to
LoadSceneMode.Singleif, upon starting a host or server, a new scene is loaded additively and set as the active scene then any client attempting to connect will get a soft synchronization error due to the current serialization order of scenes (server side) causing clients to load the original scene that was loaded upon the server starting but then the active scene would get loaded asLoadSceneMode.Singlecausing the previous scene to be unloaded. If there were in-scene placed NetworkObjects in that scene, then a client would get a soft synchronization error.Jira ticket
Jira pending...
Fix: #4049
Changelog
LoadSceneMode.SingleModewhen client synchronization is set toLoadSceneMode.SingleMode, resulting in the previously loaded scene(s) to be unloaded.Documentation
Testing & QA (How your changes can be verified during release Playtest)
Functional Testing
Manual testing :
Manual testing doneAutomated tests:
Covered by existing automated testsNot covered by new or existing automated testsLoadSceneMode.Singlewhich cannot be done when running integration tests and sharing the same scene hierarchy (thus the manual test).Does the change require QA team to:
Review automated tests?Execute manual tests?Provide feedback about the PR?If any boxes above are checked the QA team will be automatically added as a PR reviewer.
Backports
No back port is required.