In the base VRC SDK, the line
var groups = (IEnumerable)groupsList?.GetValue(servicePointGroups.GetValue(scheduler));
causes a race condition, resulting in an Object Not Found on some platforms, which can cause the SDK to permanently fail to upload content in Unity 2022.
The following changes must be made to remedy the issue:
// File: ./Packages/com.vrchat.base/Editor/VRCSDK/Dependencies/VRChat/API/VRCTools.cs
//
// LINE 112
- var groups = (IEnumerable)groupsList?.GetValue(servicePointGroups.GetValue(scheduler));
+ var servicePointGroup = servicePointGroups?.GetValue(scheduler);
+ if (servicePointGroup == null)
+ {
+ continue;
+ }
+ var groups = (IEnumerable)groupsList?.GetValue(servicePointGroup);
Attached is an image of the applied patch within its surrounding code.
Credit for Patch:
Shhasum