Reloading a scene after updating it with the in-editor UVCS fails to update the scene faithfully

My team has observed issues with missing references on objects in the scene hierarchy when updating the workspace through the in-editor Unity version control system. For example:

  1. Developer 1 adds a field to a MonoBehaviour that is attached to a GameObject in the scene
  2. Developer 1 drags a suitable object to the field in the inspector
  3. Developer 1 saves the scene
  4. Developer 1 checks in the change
  5. Developer 2 updates the workspace using UVCS in-editor to consume Developer 1’s change
  6. Developer 2 is prompted to reload the scene and reloads
  7. Developer 2 observes the new field in the inspector, however there is no object referenced (note: the reference appears unassigned, not missing)

This issue has something to do with the scene reload in tandem with the use of the in-editor UVCS to update the workspace. Supporting observations:

  1. If Developer 2 closes and reopens the editor after step 7 above, the field will contain the object reference as expected. This indicates that the serialized scene is correct on disk. (note: reimporting the scene does not resolve the issue, the editor must be restarted)
  2. If Developer 2 updates the workspace in step 5 using the UVCS desktop application instead of in-editor, the field will contain the object reference as expected after reloading the scene.

Note: this can be replicated by a single developer switching the workspace between changesets.

This issue was observed on Windows using the following versions:

  • Unity 2022.3.18f1
  • UVCS package 2.2.0
  • UVCS desktop client 11.0.16.8798