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
Adding another network-related component causes an assign network IDs error
After a successful build, adding a network-related component to a GameObject with another network-related component causes an error relating to network IDs when the next build. Repro steps Create a new scene and put the VRCSceneDescriptor Add a network-related component to a GameObject Build the world Add another network-related component to the GameObject in step 2 Build the world You'll see the dialog (see the 1st attached image) Preprocess Callback Failed The VRCSDK build was aborted because the IVRCSDKPreprocessSceneCallback 'AssignSceneNetworkIDs' reported a failure. The network-related components here are VRCObjectSync , VRCPickup , UdonBehavior etc. That needs a network ID. VRCPlayerObject of the ongoing Persistence open beta also causes this issue. Note 1 The console shows the errors after closing the dialog (2nd attached image) Failed to assign network IDs, 1 errors encountered! Try using the Network ID Utility to resolve them. Note 2 If you press the "Build & Reload" button on step 5, you'll see the "Build Succeeded!" message in the SDK tab. But the build has not succeeded. NetworkIDs in VRCSceneDescriptor has not been appropriately updated (in particular, the Serialized Type Names of the GameObject). This (showing false "succeeded") seems to be another defect. Note 3 If you press "Build and Upload", you'll see the "This file was already uploaded" error popup. And the SDK also shows "This file was already uploaded" as details. This message is incorrect since the building file is incomplete. This also seems to be another defect. Version Worlds 3.7.2
1
·

tracked

[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.
1
·

tracked

[BUG] [SAFETY] Avatar Stations On By Default
Issue A bug with the current SDK requires the GameObject which a VRC_Station is attached to, to be enabled on upload. As a result, stations are on by default if safety settings block user animations. This is BAD. Stations may be added by creators for special purposes, such as carrying other players, or animation-tied amusement. Having these on by default can create experiences where a player with stations receives UNWANTED interactions if animations are disabled. This is especially true for Quest/Mobile/Android, where animations are more likely to be disabled by default. This therefore poses a safety risk that is not mitigable by avatar creators. Potential Resolutions Add a "Disabled by Default" dropdown to the script with the options "Never"; "Always", which would disable the GameObject the VRC_Station is attached to on enable; and "Collider Only", which would disable only the provided box collider itself on enable. This would account of different creator preferences. — Whilst VRChat officially recommends disabling the collider only, the behavior of disabling the GameObject itself may be highly desirable in some case, and some popular station add-ons use this behavior. Giving developers the ability to choose between implementations allows for greater flexibility, and prevents breaking existing animations. Allow uploading with script disabled. — If the script can be disabled on upload, it won't matter anymore, as the station will be disabled when the avatar loads, making it opt-in via animation, not opt-out.
3
·

tracked

Load More