SDK Bug & Feature Requests

Please check out the following rules and use the provided template when posting a bug report! Off-topic posts will be deleted.http://bit.ly/vrchat-bug-reports
I am unable to upload my avatar using the latest VRCSDK3
I am unable to upload my avatar using the latest VRCSDK3 (2.4.4) and Unity (2022.3.22f1) have tried the following steps: -Created a completely new Unity project. -Installed the latest VRCSDK3 – Avatars package. -Cleared Library and Temp folders. -Re-imported all assets and attempted upload. Despite all these steps, I keep receiving the following error: UnityPackage: Model failed validation, returning anyway: Error writing the following fields: assetVersion, created_at, unitySortNumber UnityEngine.Debug:LogWarning (object) VRC.Core.API:CreateFromJson<VRC.Core.ApiAvatar/UnityPackage> (System.Collections.Generic.IReadOnlyDictionary2<string, BestHTTP.JSON.Json/Token>) System.Reflection.MethodBase:Invoke (object,object[]) VRC.Core.ApiModel:ParseModel (System.Type,System.Collections.Generic.IReadOnlyDictionary2<string, BestHTTP.JSON.Json/Token>,object&) VRC.Core.ApiModel:TryWriteConvert (System.Type,BestHTTP.JSON.Json/Token&,object&) VRC.Core.ApiModel:ParseList (System.Type,System.Collections.Generic.IReadOnlyList1<BestHTTP.JSON.Json/Token>,object&) VRC.Core.ApiModel:TryWriteConvert (System.Type,BestHTTP.JSON.Json/Token&,object&) VRC.Core.ApiModel:WriteField (string,BestHTTP.JSON.Json/Token) VRC.Core.ApiAvatar:WriteField (string,BestHTTP.JSON.Json/Token) VRC.Core.ApiModel:SetApiFieldsFromJson (System.Collections.Generic.IReadOnlyDictionary2<string, BestHTTP.JSON.Json/Token>,string&) VRC.Core.ApiAvatar:SetApiFieldsFromJson (System.Collections.Generic.IReadOnlyDictionary2<string, BestHTTP.JSON.Json/Token>,string&) VRC.Core.API:ConvertJsonListToModelList<VRC.Core.ApiAvatar> (System.Collections.Generic.IReadOnlyList1<object>,bool&) VRC.Core.ApiModelListContainer1<VRC.Core.ApiAvatar>:Validate (bool,System.Func1<byte[]>,System.Func1<string>) VRC.Core.ApiContainer:OnComplete (bool,int,string,System.Func1<byte[]>,System.Func1<string>,single) VRC.Core.APIResponseHandler/<HandleResponse>d__5:MoveNext () Cysharp.Threading.Tasks.CompilerServices.AsyncUniTaskVoid1<VRC.Core.APIResponseHandler/<HandleResponse>d__5>:Run () (at ./Packages/com.vrchat.base/Runtime/VRCSDK/Plugins/UniTask/Runtime/CompilerServices/StateMachineRunner.cs:104) Cysharp.Threading.Tasks.SwitchToThreadPoolAwaitable/Awaiter:Callback (object) (at ./Packages/com.vrchat.base/Runtime/VRCSDK/Plugins/UniTask/Runtime/UniTask.Threading.cs:218) System.Threading._ThreadPoolWaitCallback:PerformWaitCallback () Could you please assist in resolving this issue or resetting the avatar record in your database so I can upload my avatar? Thank you very much for your help.
0
[3.7.5+] Parallel Import encounters null exception following migration from VRCSettings to VRCPackageSettings
With SDK version 3.7.5 several settings were migrated from the static class VRCSettings , existing within the VRCSDKBase-Editor.dll library provided alongside the SDK to VRCPackageSettings , the change also included a refactor of the class, introducing a static property Instance , used to get or create an instance of the class, an instance is attempted to be created by the PerceptualPostProcessor as DPID settings were part of the migration, however this fails because of a null exception: VRCPackageSettings.Instance.dpidMipmaps within PerceptualPostProcessor executes VRCPackageSettings.Instance_get VRCPackageSettings._instance is null so Create() is called, which calls Load() Load() and calls within it, including EnsurePathExists() expect GetPath() to not be null, causing a null exception when it is because GetPath() calls GetPathFromType(GetType()) which calls UnityEditor.PackageManager.PackageInfo.FindForAssembly(t.Assembly) and returns null when executed by a worker process, GetPathFromType then returns null (a comment assumes this would only occur when the SDK is not located within the Packages folder) but this execution path was seemingly never tested and so methods that expect valid strings such as Directory.CreateDirectory within EnsurePathExists() throw null exceptions. Simply resolving the null exceptions is not enough as the current implementation would cause Load() to not load any data when it's meant to, leading to VRCPackageSettings.Instance to contain default values when executed by worker processes ( AssetDatabase.IsAssetImportWorkerProcess() ), you cannot simply abort execution because that invalidates the use of Parallel Import and would cause textures marked as "dirty" to not actually be updated to have mipmaps re-generated, a proper solution leading to the same settings file must be implemented, the whole dependency on the assembly's package info seems extreme. This can be easily reproduced on any 3.7.5+ project with Parallel Import enabled (Project Settings -> Editor, mine is configured with 8 desired workers and 2 on standby) by enabling/disabling "Override Kaiser mipmapping" in the SDK settings.
1
·
tracked
[3.8.2] VRChat SDK Causing False Prefab Overrides on Upload and Interaction
Summary: The VRChat SDK is causing Unity to falsely detect prefab overrides when no actual changes have been made. This issue occurs both during general SDK activity (not just when opening the SDK tab) and specifically when uploading or updating avatars. It often flags the Avatar Descriptor component as "changed," even when untouched. Steps to Reproduce: Open a Unity project with VRChat SDK (SDK3 - Avatars). Create or load a prefab-based avatar. Upload or re-upload the avatar via the SDK. After upload completes, observe that the avatar prefab now shows "Unapplied Overrides" in the inspector. Open the prefab and inspect the VRC_AvatarDescriptor — Unity claims it's been modified, even though no changes were made. Expected Behavior: Uploading or interacting with the SDK should not trigger false prefab overrides when no values were changed. Avatar Descriptor and other components should remain untouched unless explicitly edited. Actual Behavior: Prefab instances are flagged with "Unapplied Overrides" after uploading or interacting with the SDK. The VRC_AvatarDescriptor component is frequently shown as modified, despite no visible differences. These overrides appear without user input, leading to confusion and unnecessary prefab management. Known Triggers: Uploading or re-uploading avatars. SDK interactions during project use (not limited to opening the SDK tab). SDK updates that introduce new systems like (often re-introduce the bug): PhysBones, Constraints, Per-platform Avatar Overrides Impact: Disrupts normal Unity workflow and prefab integrity. Forces creators to manually check or apply overrides to maintain consistency. (Sometimes not even working and getting stuck in an override change loop) Risk of unintentionally applying unwanted changes or overwriting important prefab data. Time-consuming and frustrating for creators managing large or complex prefabs. Additional Notes: This issue has persisted across multiple SDK updates and is easily reproducible. It appears tied to how the SDK modifies or refreshes component data internally. Given how fundamental prefabs are to Unity projects, this issue should be considered a high-priority bug — especially for avatar creators relying on clean and reliable prefab behavior.
2
·
tracked
Load More