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
AssignSceneNetworkIDs throws an exception on every build
Every time I try to build and test or build and publish an error popup shows up saying: The VRCSDK build was aborted because the IVRCSDKPreprocessSceneCallback 'AssignSceneNetworkIDs' threw an exception. The build appears to continue regardless, though I'm not sure whether or not its just uploading an older cached asset bundle. Clearing and regenerating the network IDs does not have any effect. There are no errors displayed in the network ID utility. The rest of the log is spammed with many instances of the following: NullReferenceException: Object reference not set to an instance of an object VRC.SDKBase.Network.NetworkIDAssignment.<ConfigureNetworkIDs>g__DoTypesMatch|7_7 (VRC.SDKBase.Network.NetworkIDPair idInfo, System.Collections.Generic.List`1[T] typeNames) (at <0d388269b8e349d2b8789659f308f194>:0) VRC.SDKBase.Network.NetworkIDAssignment+<>c__DisplayClass7_0.<ConfigureNetworkIDs>g__TrySetID|6 (VRC.SDKBase.INetworkID NetworkID, System.Int32& refId, System.Collections.Generic.List`1[VRC.SDKBase.Network.NetworkIDAssignment+SetErrorLocation]& errors, VRC.SDKBase.Network.NetworkIDPair& newIDPair) (at <0d388269b8e349d2b8789659f308f194>:0) VRC.SDKBase.Network.NetworkIDAssignment.ConfigureNetworkIDs (VRC.SDKBase.INetworkIDContainer container, System.Collections.Generic.List`1[VRC.SDKBase.Network.NetworkIDAssignment+SetErrorLocation]& errors, VRC.SDKBase.Network.NetworkIDAssignment+SetError[] errorsToIgnore) (at <0d388269b8e349d2b8789659f308f194>:0) AssignSceneNetworkIDs.OnPreprocessScene (UnityEngine.SceneManagement.Scene scene) (at <d7f9a2238e9c42d08803d601ddbcb008>:0) VRC.SDKBase.Editor.BuildPipeline.VRCBuildPipelineCallbacks.OnPreprocessScene (UnityEngine.SceneManagement.Scene scene) (at <d7f9a2238e9c42d08803d601ddbcb008>:0) UnityEngine.Debug:LogException(Exception) VRC.SDKBase.Editor.BuildPipeline.VRCBuildPipelineCallbacks:OnPreprocessScene(Scene) VRC.SDK3.Editor.Builder.VRCWorldAssetExporter:ExportCurrentSceneResource(Boolean, Action`1, Action`1) VRC.SDK3.Editor.Builder.VRCWorldBuilder:ExportSceneResourceInternal(Boolean) VRC.SDK3.Editor.Builder.VRCWorldBuilder:ExportSceneResource() VRC.SDK3.Editor.<Build>d__116:MoveNext() (at ./Packages/com.vrchat.worlds/Editor/VRCSDK/SDK3/VRCSdkControlPanelWorldBuilder.cs:2199) UnityEngine.UnitySynchronizationContext:ExecuteTasks()
7
·

needs more information

Failed to upload file
I can't read error is what in this text I just know it's for VRCSDK error ↓error code UploadException: Failed to upload file VRC.SDKBase.Editor.Api.VRCApi.UploadFile (System.String filename, System.String fileId, System.String friendlyFileName, System.Action`2[T1,T2] onProgress, System.Threading.CancellationToken cancellationToken) (at ./Packages/com.vrchat.base/Editor/VRCSDK/Dependencies/VRChat/API/VRCApi.cs:958) VRC.SDKBase.Editor.Api.VRCApi.CreateNewAvatar (System.String id, VRC.SDKBase.Editor.Api.VRCAvatar data, System.String pathToBundle, System.String pathToImage, System.Action`2[T1,T2] onProgress, System.Threading.CancellationToken cancellationToken) (at ./Packages/com.vrchat.base/Editor/VRCSDK/Dependencies/VRChat/API/VRCApi.cs:664) VRC.SDK3A.Editor.VRCSdkControlPanelAvatarBuilder.BuildAndUpload (UnityEngine.GameObject target, VRC.SDKBase.Editor.Api.VRCAvatar avatar, System.String thumbnailPath, System.Threading.CancellationToken cancellationToken) (at ./Packages/com.vrchat.avatars/Editor/VRCSDK/SDK3A/VRCSdkControlPanelAvatarBuilder.cs:2524) Rethrow as UploadException: Failed to upload file VRC.SDK3A.Editor.VRCSdkControlPanelAvatarBuilder.BuildAndUpload (UnityEngine.GameObject target, VRC.SDKBase.Editor.Api.VRCAvatar avatar, System.String thumbnailPath, System.Threading.CancellationToken cancellationToken) (at ./Packages/com.vrchat.avatars/Editor/VRCSDK/SDK3A/VRCSdkControlPanelAvatarBuilder.cs:2566) VRC.SDK3A.Editor.VRCSdkControlPanelAvatarBuilder+<>c__DisplayClass104_0.<CreateBuildGUI>b__4 () (at ./Packages/com.vrchat.avatars/Editor/VRCSDK/SDK3A/VRCSdkControlPanelAvatarBuilder.cs:2015) System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__7_0 (System.Object state) (at <27124aa0e30a41659b903b822b959bc7>:0) UnityEngine.UnitySynchronizationContext+WorkRequest.Invoke () (at <cb81df0c49c643b1a04d9fc6ccca2433>:0) UnityEngine.UnitySynchronizationContext.Exec () (at <cb81df0c49c643b1a04d9fc6ccca2433>:0) UnityEngine.UnitySynchronizationContext.ExecuteTasks () (at <cb81df0c49c643b1a04d9fc6ccca2433>:0)
1
·

needs more information

validator out of Range
I have been having this problem all night where the validator on the SDK isnt functioning at all. Errors listed below Error 1 IndexOutOfRangeException: Index was outside the bounds of the array. VRC.SDK3A.Editor.VRCSdkControlPanelAvatarBuilder.ValidateFeatures (VRC.SDKBase.VRC_AvatarDescriptor avatar, UnityEngine.Animator anim, VRC.SDKBase.Validation.Performance.Stats.AvatarPerformanceStats perfStats) (at ./Packages/com.vrchat.avatars/Editor/VRCSDK/SDK3A/VRCSdkControlPanelAvatarBuilder.cs:640) VRC.SDK3A.Editor.VRCSdkControlPanelAvatarBuilder.OnGUIAvatarCheck (VRC.SDKBase.VRC_AvatarDescriptor avatar) (at ./Packages/com.vrchat.avatars/Editor/VRCSDK/SDK3A/VRCSdkControlPanelAvatarBuilder.cs:341) VRC.SDK3A.Editor.VRCSdkControlPanelAvatarBuilder.ShowBuilder () (at ./Packages/com.vrchat.avatars/Editor/VRCSDK/SDK3A/VRCSdkControlPanelAvatarBuilder.cs:154) VRCSdkControlPanel+<>c__DisplayClass184_0.<ShowBuilders>b__4 () (at ./Packages/com.vrchat.base/Editor/VRCSDK/Dependencies/VRChat/ControlPanel/VRCSdkControlPanelBuilder.cs:756) UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <332857d8803a4878904bcf8f9581ec33>:0) UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&) Error 2 System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <332857d8803a4878904bcf8f9581ec33>:0) UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <332857d8803a4878904bcf8f9581ec33>:0) UnityEngine.UIElements.IMGUIContainer.DoIMGUIRepaint () (at <332857d8803a4878904bcf8f9581ec33>:0) UnityEngine.UIElements.UIR.RenderChainCommand.ExecuteNonDrawMesh (UnityEngine.UIElements.UIR.DrawParams drawParams, System.Single pixelsPerPoint, System.Exception& immediateException) (at <332857d8803a4878904bcf8f9581ec33>:0) Rethrow as ImmediateModeException UnityEngine.UIElements.UIR.RenderChain.Render () (at <332857d8803a4878904bcf8f9581ec33>:0) UnityEngine.UIElements.UIRRepaintUpdater.Update () (at <332857d8803a4878904bcf8f9581ec33>:0) UnityEngine.UIElements.VisualTreeUpdater.UpdateVisualTreePhase (UnityEngine.UIElements.VisualTreeUpdatePhase phase) (at <332857d8803a4878904bcf8f9581ec33>:0) UnityEngine.UIElements.Panel.UpdateForRepaint () (at <332857d8803a4878904bcf8f9581ec33>:0) UnityEngine.UIElements.Panel.Repaint (UnityEngine.Event e) (at <332857d8803a4878904bcf8f9581ec33>:0) UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at <332857d8803a4878904bcf8f9581ec33>:0) UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& eventHandled) (at <332857d8803a4878904bcf8f9581ec33>:0) UnityEngine.UIElements.UIEventRegistration.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at <332857d8803a4878904bcf8f9581ec33>:0) UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2 (System.Int32 i, System.IntPtr ptr) (at <332857d8803a4878904bcf8f9581ec33>:0) UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& result) (at <74d6aaa3aedf4a279751914e170fef65>:0) I have tried to reimport the SDK on top and replace it multiple times I am unsure of the issue and yes I deleted the SDK from the project and then attempted to frankenstein another projects SDK to replace it and it worked with everything fine but did not fix the issue.
2
·

needs more information

SDK is either not working correctly, or is far too restrictive for quest uploads.
I've uploaded several avatars in the past that are more or less just lite versions of their PC counterparts, which admittedly made it a little unoptimized at times, but it was functional and wouldn't lag much on quest at all. It would take some effort, but I always managed to squeeze them below 10mb download limit (which by the way, in my honest opinion should be raised to 15-20mb), but now there's some new restrictions on the SDK (the uncompressed size and the texture memory) that, from my experience, makes it virtually impossible to upload an avatar to quest without the textures being compressed into something completely unrecognizable, even with the more optimized quest version of a given avatar. I've tried everything that I can think of, compress textures, delete unnecessary assets, but none of it works. I barely even managed to squeeze it under the 10mb download limit and even then it still doesn't even work in-game with a "Security Checks Failed" prompt. I tried going back to older versions of the SDK without these new restrictions as a test, and it still fails these so called "Security Checks" (which by the way is vague and unhelpful as fuck) It doesn't help that the SDK doesn't update when you make a change, so its impossible to tell if a change helped or hindered the problem. The only way to force it to update is attempting an upload, which itself is now impossible with the inability to even try until the "critical issues" can be solved. I've asked multiple people who have experience with avatars but they're completely stumped. My most recent attempt to upload and fix this issue slaps me in the face with a random extra mb out of nowhere putting it at 11mb which is outside the basic download size requirement, making the problem even worse. Either the SDK is straight up broken with its measuring or other systems, or its too restrictive to do even basic avatars with a single accessory, a few material slots and no toggleble items such as clothing that were possible in older versions of the SDK. I don't feel like its much of an ask to raise the requirements for quest compatibility (especially as content on quest felt very limited WITHOUT these new requirements) as well as making general improvements on quest to support that increased liberty Quest shouldn't have to be such a chore to make things on. Maybe instead of making dumb branches on iOS and android that no one asked for, you guys focus on the VR part of VRChat.
4
·

needs more information

Load More