After a successful build, adding a network-related component to a GameObject with another network-related component causes an error relating to network IDs when the next build.
Repro steps
  1. Create a new scene and put the
    VRCSceneDescriptor
  2. Add a network-related component to a GameObject
  3. Build the world
  4. Add another network-related component to the GameObject in step 2
  5. Build the world
You'll see the dialog (see the 1st attached image)
Preprocess Callback Failed
The VRCSDK build was aborted because the IVRCSDKPreprocessSceneCallback 'AssignSceneNetworkIDs' reported a failure.
  • The network-related components here are
    VRCObjectSync
    ,
    VRCPickup
    ,
    UdonBehavior
    etc. That needs a network ID.
  • VRCPlayerObject
    of the ongoing Persistence open beta also causes this issue.
Note 1
The console shows the errors after closing the dialog (2nd attached image)
Failed to assign network IDs, 1 errors encountered!
Try using the Network ID Utility to resolve them.
Note 2
If you press the "Build & Reload" button on step 5, you'll see the "Build Succeeded!" message in the SDK tab. But the build has not succeeded.
NetworkIDs
in
VRCSceneDescriptor
has not been appropriately updated (in particular, the
Serialized Type Names
of the GameObject). This (showing false "succeeded") seems to be another defect.
Note 3
If you press "Build and Upload", you'll see the "This file was already uploaded" error popup. And the SDK also shows "This file was already uploaded" as details. This message is incorrect since the building file is incomplete. This also seems to be another defect.
Version
Worlds 3.7.2