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
[VRCCameraSettings] Property to tell which camera is currently rendering
Within a render callback such as OnWillRenderObject, it's useful to be able to check which camera is rendering. Unity has "Camera.current" for this, but it's not exposed to Udon. The new camera API is awesome, but without a property like that, I still can't make my UdonPortals prefab render correctly in the hand-held camera because there's no way to tell which camera is currently triggering OnWillRenderObject. I'd like a property to tell which camera is responsible for the render. A really simple implementation would be a new read-only property like: VRCCameraSettings.CurrentCameraType: An enum consisting of the values "ScreenCamera" or "PhotoCamera". However, I think this API could be extended further to be even more useful. In particular, if a Camera that was created by the world (and so is already accessible to Udon) is rendering, it would be great to be able to access the actual Camera object! Just like Unity's "Camera.current", but only limited to world-created Cameras. An API might look like this: VRCCameraSettings.CurrentCameraType: Enum consisting of the values "ScreenCamera", "PhotoCamera", "WorldCamera", or "Other". "WorldCamera" would be any camera created by the current world, i.e. a Camera that's accessible to Udon. "Other" would be anything else that isn't (yet!) accessible to Udon, e.g. avatar cameras or the screenshot camera. VRCCameraSettings.CurrentCamera: A reference to the current Camera object, just like Unity's Camera.current, except it's only set when CurrentCameraType is "WorldCamera". Otherwise, it's null.
4
·

available in future release

Network ID Utility fails to import with NullReferenceException
Many NullReferenceException happens during the import process. You will fail to do even a simple "loop back test". Repro steps Create a scene having a VRCSceneDescriptor and an UdonBehavior at the minimum. Open Network ID Import and Export Utility https://creators.vrchat.com/worlds/udon/networking/network-id-utility/#network-id-import-and-export-utility Press Regenerate Scene IDs and confirm the dialog Press Export and save it to a file Press Clear Scene IDs and confirm the dialog Press Import and select the file you have just saved. The utility shows the object(s). Press Accept All or Select Then, the Console shows NullReferenceException errors Environment Tested with SDK 3.7.0 Worlds. This seems to happen from 3.5.2 Log The head part of the exception: NullReferenceException: Object reference not set to an instance of an object VRCNetworkIDUtility.<DetectConflicts>g__DoTypesMatch|28_6 (VRCNetworkIDUtility+NetworkObjectRef scene, VRCNetworkIDUtility+NetworkObjectRef loaded) (at ./Packages/com.vrchat.base/Editor/VRCSDK/Dependencies/VRChat/VRCNetworkIDUtility.cs:550) VRCNetworkIDUtility.DetectConflicts (System.Collections.Generic.Dictionary`2[TKey,TValue] loadedRefs, System.Collections.Generic.List`1[T] conflictList) (at ./Packages/com.vrchat.base/Editor/VRCSDK/Dependencies/VRChat/VRCNetworkIDUtility.cs:520) VRCNetworkIDUtility.OnGUI () (at ./Packages/com.vrchat.base/Editor/VRCSDK/Dependencies/VRChat/VRCNetworkIDUtility.cs:297) Note The NullReferenceException happens when accessing NetworkObjectRef.typeNames . Some implementation of INetworkIDContainer has the issue, maybe, UdonBehavior . INetworkIDContainer.NetworkIDCollection is typed List<NetworkIDPair> Some element of it has the null as NetworkIDPair.SerializedTypeNames
4
·

available in future release

Load More