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
VRC Constraints drift over time when far away from world origin and seated
Been running into an interesting bug relating to vrc constraints. I will be using this avatar as an example: avtr_c32b6dbf-e8f8-46a4-a338-4828d68e307e It uses VRC Constraints for twist bones in many places. For some reason the lower arm twist bones start to drift out of alignment over time in some circumstances. They have only one axis (Y) frozen, but somehow they slowly drift more and more along the other two axis. Once the bug starts, they seem to very very slowly "orbit" around their pivot over time. The furthest I've seen them go is completely backwards (wrist pointing towards elbows), though usually the effect starts quite subtle. The constraint still appears to function otherwise perfectly, the weight slider even offsets it towards the resting position (though with the bugged rotation it is still in the wrong place). The strangest part is that it only seems to affect these two constraints on the lower arms, despite there being many more very similar constraints all over the avatar. I suspect it has something to do with gimbal lock and floating point precision. Resetting the avatar or doing anything that reloads the avatar fixes it instantly, until the next time it occurs. Repro: Wear this avatar avtr_c32b6dbf-e8f8-46a4-a338-4828d68e307e Go to this world wrld_66431182-f46c-45c9-9c8e-ba7f47c10177 Sit in any chair on the vehicle. Wiggle / move around in chair, like your having a convo, or practically anything to move the avatar After a bit, check to see if the lower arm joints no longer line up at the elbow. If arms not separated, continue step 4.
7
·
available in future release
SDK 3.9.0 Simple toggles becomes stuck if in menu value is false/unchecked (Avatar uploads with the bug!)
I have come across a very annoying bug that can be reproduced every single time in Unity using VRC SDK version 3.9.0 on Unity 2022.3.22f1, this bug carries over into VRChat if the avatar with the bug is uploaded. Steps: Use Avatar SDK 3.9.0 and Unity 2022.3.22f1 Create a simple on/off toggle In the menu step of the toggle creation process, make sure your menu type is a "Toggle" or "Button" and "Value" is unchecked. Use any testing tools that goes through the menu (Not anything that directly changes the parameter value), if the toggle already has the spinning wheel you will realize that you cannot un-toggle it. The value will remain stuck. Otherwise you can only toggle once then never again. If you Upload the avatar with this bug present, the bug will also occur in VRChat. Showcase: https://www.youtube.com/watch?v=9qoz5K-07zM Avatar uploaded with the bug from a new bare-bones avatar project (Resolver + base sdk + avatar sdk, not project seen in video) https://vrchat.com/home/avatar/avtr_4015214d-c4a1-45f5-b6c0-1a9c9832d383 This is not caused by end user error, this bug happened to me today on another project, thinking I had a broken project I remade it, I then realised the bug is persistent across projects so I tested it with a very simple boolean setup and the most bare-bones possible (Only using the required sdk and resolver package + Gesture manager for showcasing the bug). The end of the video shows the toggles working properly if the menu "Value" is true/checked I do not show this in the video, but also manually checking the box in Gesture Manager's debug menu makes the toggles/buttons appear to work as they should when they actually don't, this leads me to think this issue is with the menu itself. Both menu type Button and Toggle are affected as far as I have tested, I didn't test the other menu types.
4
·
available in future release
[SDK 3.8.1+] Excessive SDK console log spam due to undefined log category
In VRCSDK 3.8.1 and later several log invokations ( VRC.Core.Logger.Log() ) in internal SDK assemblies (e.g. VRCSDKBase-Editor.dll and VRCCore-Editor.dll ) as well as VRC.SDKBase.Editor.EnvConfig.cs do not define the log category anymore, resulting in excessive console logging with no real added value to the end user. In 3.7.5 and earlier SDKs with old logger, DebugLevel.All enum was passed as a parameter every time these messages would be logged, resulting in nothing being visible to the end user. From 3.7.6 up to 3.8.0 after SDK logger rewrite, "All" string was passed as a parameter due to the DebugLevel enum getting replaced by a generic category string parameter, still resulting in all messages being hidden. In previous versions of the SDK not a single log entry would appear in the editor's console unless something important was actually happening and the end user should be informed about it. In 3.8.1 many of the category parameters were mysteriously removed, resulting in 14 entries appearing in the console on every assembly reload (see attachments). The increased logging takes up third of the console window's footprint on every assembly reload and makes it very difficult to spot actually important log entries. Below I have listed the different messages originating from DLLs in the SDK with their stack traces. (The rest are primarily from VRC.Editor.EnvConfig:ConfigurePlayerSettings() located in the VRC.SDKBase.Editor assembly) Reloading Assemblies UnityEngine.Debug:Log (object,UnityEngine.Object) VRC.Core.Logger:Log (string,string,UnityEngine.Object) VRC.SDK3.Editor.EditorAssemblies:OnCompileScripts () No local config found at 'C:/Users/[REDACTED]/AppData/LocalLow/[REDACTED]/[REDACTED]\config.json' UnityEngine.Debug:Log (object,UnityEngine.Object) VRC.Core.Logger:Log (string,string,UnityEngine.Object) VRC.Core.LocalConfig:FetchConfig (System.Action,System.Action) VRC.Core.LocalConfig:.ctor (string,bool,bool) VRC.Core.ConfigManager:.cctor () VRC.Editor.EnvConfig:ConfigureSettings () (at ./Packages/com.vrchat.base/Editor/VRCSDK/Dependencies/VRChat/EnvConfig.cs:125) VRC.Editor.EnvConfig:EditorUpdate () (at ./Packages/com.vrchat.base/Editor/VRCSDK/Dependencies/VRChat/EnvConfig.cs:91) UnityEditor.EditorApplication:Internal_CallUpdateFunctions () No local config found at 'C:/Users/[REDACTED]/AppData/LocalLow/[REDACTED]/[REDACTED]\null' UnityEngine.Debug:Log (object,UnityEngine.Object) VRC.Core.Logger:Log (string,string,UnityEngine.Object) VRC.Core.LocalConfig:FetchConfig (System.Action,System.Action) VRC.Core.LocalConfig:.ctor (string,bool,bool) VRC.Core.ConfigManager:.cctor () VRC.Editor.EnvConfig:ConfigureSettings () (at ./Packages/com.vrchat.base/Editor/VRCSDK/Dependencies/VRChat/EnvConfig.cs:125) VRC.Editor.EnvConfig:EditorUpdate () (at ./Packages/com.vrchat.base/Editor/VRCSDK/Dependencies/VRChat/EnvConfig.cs:91) UnityEditor.EditorApplication:Internal_CallUpdateFunctions () FetchConfig UnityEngine.Debug:Log (object,UnityEngine.Object) VRC.Core.Logger:Log (string,string,UnityEngine.Object) VRC.Core.RemoteConfig:FetchConfig (System.Action,System.Action) VRC.Core.BaseConfig:Init (System.Action,System.Action,bool) VRC.Editor.EnvConfig:ConfigureSettings () (at ./Packages/com.vrchat.base/Editor/VRCSDK/Dependencies/VRChat/EnvConfig.cs:128) VRC.Editor.EnvConfig:EditorUpdate () (at ./Packages/com.vrchat.base/Editor/VRCSDK/Dependencies/VRChat/EnvConfig.cs:91) UnityEditor.EditorApplication:Internal_CallUpdateFunctions () finshed fetching and set config UnityEngine.Debug:Log (object,UnityEngine.Object) VRC.Core.Logger:Log (string,string,UnityEngine.Object) VRC.Core.RemoteConfig/<>c__DisplayClass1_0:<FetchConfig>b__0 (VRC.Core.ApiContainer) VRC.Core.APIResponseHandler/<HandleResponse>d__5:MoveNext () Cysharp.Threading.Tasks.CompilerServices.AsyncUniTaskVoid`1<VRC.Core.APIResponseHandler/<HandleResponse>d__5>:Run () (at ./Packages/com.vrchat.base/Runtime/VRCSDK/Plugins/UniTask/Runtime/CompilerServices/StateMachineRunner.cs:104) Cysharp.Threading.Tasks.Internal.ContinuationQueue:RunCore () (at ./Packages/com.vrchat.base/Runtime/VRCSDK/Plugins/UniTask/Runtime/Internal/ContinuationQueue.cs:194) Cysharp.Threading.Tasks.Internal.ContinuationQueue:Update () (at ./Packages/com.vrchat.base/Runtime/VRCSDK/Plugins/UniTask/Runtime/Internal/ContinuationQueue.cs:159) Cysharp.Threading.Tasks.Internal.ContinuationQueue:Run () (at ./Packages/com.vrchat.base/Runtime/VRCSDK/Plugins/UniTask/Runtime/Internal/ContinuationQueue.cs:118)
3
·
available in future release
Load More