World/Udon Bugs & Feature Requests

Post about current World or Udon bugs feature requests. One item per post!
Non-constructive and off-topic posts will be moved or deleted.
VRCObjectSync Respawn does not work
I tried this both with udon graph and udon sharp. Both times, when calling the Respawn function, the udon script throws an error and halts. It says that the reference is not set to an instance of an object, even though every time, I check, and there is an object with a VRCObjectSync attached to it that Respawn() is called from. And Respawn() is called from the VRCObjectSync, and not the GameObject. This is the error I get from udon graph: [UdonBehaviour] An exception occurred during Udon execution, this UdonBehaviour will be halted. VRC.Udon.VM.UdonVMException: The VM encountered an error! Exception Message: An exception occurred during EXTERN to 'VRCSDK3ComponentsVRCObjectSync.__Respawn__SystemVoid'. Parameter Addresses: 0x00000000 Object reference not set to an instance of an object ---------------------- Program Counter was at: 28 ---------------------- Stack Dump: ---------------------- Heap Dump: 0x00000000: Microphone (VRC.SDK3.Components.VRCObjectSync) 0x00000001: Microphone (VRC.SDK3.Components.VRCObjectSync) 0x00000002: VRCSDK3ComponentsVRCObjectSync.__Respawn__SystemVoid ---------------------- Inner Exception: ---> VRC.Udon.VM.UdonVMException: An exception occurred during EXTERN to 'VRCSDK3ComponentsVRCObjectSync.__Respawn__SystemVoid'. Parameter Addresses: 0x00000000 ---> System.NullReferenceException: Object reference not set to an instance of an object at VRC.SDK3.ClientSim.ClientSimObjectSyncHelper.RespawnObject (VRC.SDK3.Components.VRCObjectSync sync) [0x00000] in .\Packages\com.vrchat.worlds\Integrations\ClientSim\Runtime\Helpers\ClientSimObjectSyncHelper.cs:18 at VRC.SDK3.Components.VRCObjectSync.Respawn () [0x00009] in <6ff4ff48394b436282bb70dc0ff277c2>:0 at VRC.Udon.Wrapper.Modules.ExternVRCSDK3ComponentsVRCObjectSync.__Respawn__SystemVoid (VRC.Udon.Common.Interfaces.IUdonHeap heap, System.Span`1[T] parameterAddresses) [0x0001d] in <b001fa9908f1453c979dae8b67f4c4f7>:0 at VRC.Udon.VM.UdonVM.Interpret () [0x00273] in <62e4a0d35446446b8fa1f8e5755bcfaa>:0 --- End of inner exception stack trace --- at VRC.Udon.VM.UdonVM.Interpret () [0x0033c] in <62e4a0d35446446b8fa1f8e5755bcfaa>:0 --- End of inner exception stack trace --- at VRC.Udon.VM.UdonVM.Interpret () [0x00436] in <62e4a0d35446446b8fa1f8e5755bcfaa>:0 at VRC.Udon.UdonBehaviour.RunProgram (System.UInt32 entryPoint) [0x00063] in .\Packages\com.vrchat.worlds\Runtime\Udon\UdonBehaviour.cs:1098 UnityEngine.Debug:LogError (object,UnityEngine.Object) VRC.Core.Logger:LogError (string,string,UnityEngine.Object) VRC.Udon.UdonBehaviour:RunProgram (uint) (at ./Packages/com.vrchat.worlds/Runtime/Udon/UdonBehaviour.cs:1112) VRC.Udon.UdonBehaviour:RunEvent (string) (at ./Packages/com.vrchat.worlds/Runtime/Udon/UdonBehaviour.cs:1306) VRC.Udon.UdonBehaviour:ManagedUpdate () (at ./Packages/com.vrchat.worlds/Runtime/Udon/UdonBehaviour.cs:551) VRC.Udon.UdonManager:Update () (at ./Packages/com.vrchat.worlds/Runtime/Udon/UdonManager.cs:354)
12
·
available in future release
Array.Sort
Additional Array methods were added in https://docs.vrchat.com/v2021.4.1/docs/vrchat-202114#changes-improvements-and-fixes-1 with the accompanying canny post marked as complete https://feedback.vrchat.com/vrchat-udon-closed-alpha-feedback/p/add-more-array-methods-to-all-array-types but Array.Sort was mysteriously left out. This would be EXTREMELY useful for quickly making a deterministic list of players using GetPlayers()'s VRCPlayerApi array by playerId (and then sorting the VRCPlayerApis by playerID with Array.Sort(keys, items)). Currently in Udon that array is out of order for different clients, and individual playerIds represent their join order, rather than an autofilled sequence from players leaving and joining. It would also be useful for sorting VRCPlayerApis by a world's game score for a scoreboard. Array.Sort is extremely useful because, even though we don't have access to custom data structures or IComparable implementations in Udon, we can still sort things using associated arrays of intrinsic data types. And before you do the same thing that you did with the previous post, please just whitelist everything you can. Not just Array methods. Stringbuilders. Native Unity components like LODGroups. Although a rumor, I heard that ReflectionProbe endpoints weren't included for a YEAR after Udon's release because there was a blacklist for anything with 'reflection' in the name. Please consider going back through the whitelist and enabled anything and everything possible.
10
·
available in future release
Load More