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
·
Bug Report
·
available in future release
VRCObjectPool.TryToSpawn fails in ClientSim
I try to spawn something based on an Interact() event. It fails in the ClientSim, but it works in the VRChat client. I am sure it worked also in the ClientSim earlier. TryToSpawn on Glider Pool called before initialized UnityEngine.Debug:LogError (object) VRC.SDK3.Components.VRCObjectPool:TryToSpawn () VRC.Udon.Wrapper.Modules.ExternVRCSDK3ComponentsVRCObjectPool:__TryToSpawn__UnityEngineGameObject (VRC.Udon.Common.Interfaces.IUdonHeap,System.Span`1<uint>) VRC.Udon.VM.UdonVM:Interpret () VRC.Udon.UdonBehaviour:RunProgram (uint) (at ./Packages/com.vrchat.worlds/Runtime/Udon/UdonBehaviour.cs:1030) VRC.Udon.UdonBehaviour:RunEvent (string) (at ./Packages/com.vrchat.worlds/Runtime/Udon/UdonBehaviour.cs:1234) VRC.Udon.UdonBehaviour:Interact () (at ./Packages/com.vrchat.worlds/Runtime/Udon/UdonBehaviour.cs:928) VRC.SDK3.ClientSim.ClientSimUdonHelper:Interact () (at ./Packages/com.vrchat.worlds/Integrations/ClientSim/Runtime/Helpers/ClientSimUdonHelper.cs:118) VRC.SDK3.ClientSim.ClientSimInteractManager:Interact (UnityEngine.GameObject,single) (at ./Packages/com.vrchat.worlds/Integrations/ClientSim/Runtime/Interact/ClientSimInteractManager.cs:60) VRC.SDK3.ClientSim.ClientSimPlayerRaycaster:TryInteract (VRC.Udon.Common.HandType,VRC.SDK3.ClientSim.ClientSimRaycastResults) (at ./Packages/com.vrchat.worlds/Integrations/ClientSim/Runtime/Player/ClientSimPlayerRaycaster.cs:213) VRC.SDK3.ClientSim.ClientSimPlayerRaycaster:UseInput (bool,VRC.Udon.Common.HandType) (at ./Packages/com.vrchat.worlds/Integrations/ClientSim/Runtime/Player/ClientSimPlayerRaycaster.cs:254) VRC.SDK3.ClientSim.ClientSimInputBase:SendUseEvent (bool,VRC.Udon.Common.HandType) (at ./Packages/com.vrchat.worlds/Integrations/ClientSim/Runtime/Input/ClientSimInputBase.cs:199) VRC.SDK3.ClientSim.ClientSimInputActionBased:HandleUseRight (UnityEngine.InputSystem.InputAction/CallbackContext) (at ./Packages/com.vrchat.worlds/Integrations/ClientSim/Runtime/Input/ClientSimInputActionBased.cs:245) UnityEngine.InputSystem.LowLevel.NativeInputRuntime/<>c__DisplayClass7_0:<set_onUpdate>b__0 (UnityEngineInternal.Input.NativeInputUpdateType,UnityEngineInternal.Input.NativeInputEventBuffer*) UnityEngineInternal.Input.NativeInputSystem:NotifyUpdate (UnityEngineInternal.Input.NativeInputUpdateType,intptr)
6
·
Bug Report
·
available in future release
VRCSDK 3.5.3-beta.2 contains several breaking changes to public API so it MUST be 3.6.0
Description of the bug: The VRCSDK 3.5.3-beta.2 contains several breaking changes to public API so it MUST be 3.6.0. As I suggested and you declared in the Developer Update , the current VRCSDK is using x.y.z where y will be incremented if the changes are breaking ones。 Here's incomplete list of breaking changes: VRC.SDKBase.Validation.ShaderValidation class is removed and methods are moved to VRC.SDKBase.Validation.ValidationUtils class (as described in the changelog). Removing (including moving) public API is the most popular type of breaking change. Some methods of VRC.SDKBase.Validation.ValidationUtils have added optional parameters (as described in the changelog). This change is not huge as the previous since it will not break the existing source code and only breaks pre-compiled DLLs. The VRC.SDKBase.Validation.ShaderValidation class has been moved from VRC.SDKBase.asmdef assembly to VRCSDKBase.dll This change is exactly the same as removing VRC.SDKBase.Validation.ShaderValidation class from VRC.SDKBase.asmdef and re-adding VRC.SDKBase.Validation.ShaderValidation to VRCSDKBase.dll . For assembly definitions, we have to declare which assemblies (including DLLs if Auto Referenced is disabled) are referenced. I think it's relatively rare but we can reference VRC.SDKBase.asmdef and not VRCSDKBase.dll in previous codes. In addition, this change breaks pre-compiled DLLs because pre-compiled DLLs will distinguish also with assembly names.
3
·
Bug Report
·
available in future release
Load More