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.
Calling .SetAvatarAudioFarRadius(0) in OnPlayerJoined() cannot be restored later
If an avatar of a remote user is muted by calling VRCPlayerApi.SetAvatarAudioFarRadius(0) during OnPlayerJoined(), you cannot restore that avatar audio later by calling VRCPlayerApi.SetAvatarAudioFarRadius(40) under certain conditions. The avatar audio stays muted for you. The remote user can even disable and enable the audio toggle again, but it will still not be audible to you. Contrary to that, if the user joins and you don't call .SetAvatarAudioFarRadius(0) during OnPlayerJoined(), you can always toggle their audio on and off later without any issues. The issue also depends on the avatar setup: if the avatar audio is manually toggled via an animation after joining the world (e.g. a VRCFury toggle), the audio will never play, even if that animation is toggled again after unmuting the avatar. if the avatar audio is always-on, the audio behaves as expected, there is no issue. Avatars for testing: (VRCFury toggle) -> Bug happens https://vrchat.com/home/avatar/avtr_8897aa55-4877-4aac-bac2-1e3280e950f4 (OnLoad audio) -> Works fine https://vrchat.com/home/avatar/avtr_e77f5414-63b3-4d1b-aa7a-4b25cd299d48 World for testing: https://vrchat.com/home/world/wrld_717f7988-3503-4616-90b5-9d492d043b87/info Attached is the only script that is in the world and a screenshot of the decompiled VRCFury toggle. How to replicate: Join the world https://vrchat.com/home/world/wrld_717f7988-3503-4616-90b5-9d492d043b87/info Let a remote user with that avatar join ( https://vrchat.com/home/avatar/avtr_8897aa55-4877-4aac-bac2-1e3280e950f4 ) Let that user toggle their avatar audio on (via the expression menu) confirm that you can toggle their audio on/off with the button in the world toggle their avatar audio off with the button in the world let them rejoin let them toggle their avatar audio on (via the expression menu) confirm that you cannot hear their audio if you click the button in the world confirm that you cannot hear their audio, even if they toggle it off and on again (via the expression menu)
0
·
Bug Reports
Expose multi-audio track selection for VRCAVProVideoPlayer to Udon
## Problem Media files can contain multiple audio tracks (for example Spanish, English and Japanese), but worlds using VRCAVProVideoPlayer cannot enumerate or select those tracks from Udon. The player chooses one track and world authors have no supported way to change it. This prevents proper multilingual cinema, anime, karaoke, event and accessibility experiences. Current workarounds require duplicating the full video, transcoding variants on a server, or running a second audio player and fighting synchronization. AVPro itself has audio-track APIs, but the VRChat wrapper does not expose equivalent functionality to Udon: https://www.renderheads.com/content/docs/AVProVideo-v3/api/RenderHeads.Media.AVProVideo.VideoPlayer_AVPro.html VRChat video-player documentation: https://creators.vrchat.com/worlds/udon/video-players/ ## Requested API Please expose a small, local API on VRCAVProVideoPlayer, with names similar to: int GetAudioTrackCount() string GetAudioTrackLanguage(int trackIndex) string GetAudioTrackName(int trackIndex) int GetSelectedAudioTrack() bool SetAudioTrack(int trackIndex) An event indicating that track metadata is available would also be useful. The exact API names are not important. The important requirements are that Udon can enumerate the available tracks, show their language/name, and select one. ## Behaviour Audio-track selection should be local by default, so different users in the same instance can listen to different languages while watching the same synchronized video. Changing track should not change the shared URL, playback state or time for other users. Switching during playback should preserve the current playback position. If the backend must pause or reopen the media, the SDK could handle that internally or document the required sequence. A capability check is acceptable when a platform or media backend does not support track switching. PC-only support initially would still be useful if cross-platform parity is not immediately possible. ## Acceptance example A world plays one media URL containing Spanish, English and Japanese audio tracks. Two users watch the same synchronized video at the same timestamp. User A selects Spanish locally. User B selects Japanese locally. The video remains synchronized and neither user's choice changes the other user's audio. This would enable true multilingual playback without storing or streaming duplicate copies of the video.
0
·
Feature Requests
Load More