Feature Requests

Please check out the following guidelines before suggesting a feature! Off-topic posts will be deleted.
Implement LibVLC or Similar for VRChat Video Players, Current Solutions are Nothing but Pain for Live or Fragmented Video
Can you please bake in LibVLC ( https://www.videolan.org/developers/unity.html ) or ffmpeg or something similar so we can have functional live streams and/or adaptive bitrate video streaming🙏 If the legal team doesn't agree with it, build a library without proprietary / legally problematic codec support and hand it back over to the system decoders if it can't be handled. Having all these issues fixed even only with VP9/AV1/Opus/Flac codecs would be so so nice! YouTube hardly serves H.264 anymore and we're on a workaround just to have any playback. Here are the issues I've found so far when working with video content in VRChat: No seeking support in Live streams Live streams or any video without fixed duration does not work in Unity player AVPro has significantly worse audio quality than Unity, can be easily discerned by trying "binaural audio" videos back to back, no it's not a difference in streams from yt-dlp, tested with identical files from a server I control HLS streams have an insane amount of latency (~45 seconds to a minute) RTSP streams do not work on quest (they should as of another Canny post I found? but they don't) RTMP streams do not work on PC, do work on Quest Livestreams often flicker rapidly when game lags if the worlds do not blit textures, was an update around a year ago that caused this iirc HLS streams are almost always missing audio unless it's MPEG-TS/H264/AAC, which is about as outdated and inefficient as it gets HLS streams with fMP4 segments have stuttery audio Adaptive bitrate HLS + DASH streams do not properly switch between codecs if computer is lacking support, it just doesn't play for some users Livestreams are often upside-down at random in older worlds, is world-specific not sure why VP9/MP4 playback does not work in AVPro, works in Unity No seeking support in webm files for AVPro or Unity Fragmented MP4 files do not play back at all ( https://feedback.vrchat.com/bug-reports/p/video-players-video-chunking-not-working-for-mp4-and-webm ) HLS playlist files have been the source of 3x untrusted URL exploits in the past that I'm aware of due to passing them directly to Windows Media Foundation to deal with No adaptive resolution streaming from YouTube, capped at 1080p and relying on pre-muxed file workaround that broke for days a while back DASH streams with slightly offset clocks between server and client do not buffer properly, it just stutters indefinitely Video players do not fall back to software decoding if color profile is not NV12 ( https://feedback.vrchat.com/bug-reports/p/when-i-play-a-yuv444-video-in-avpro-player-and-exit-vrchat-it-freezes ) Video players do not support subtitles at all, relying on custom implementations per-world and server infrastructure Video players are dependent on system codec support, often needing extension packs from MS Store No WebRTC support, would allow for very low latency livestreams & real-time interaction No option to globally adjust video player volume independently of world There are for sure more, these are the only ones I can remember off the top of my head. VLC has none of these issues, neither do any web browsers.
11
South America / Brazilian Servers
Considering the statements made during today's (14/02/2025) livestream, it is clear that the Brazilian market has enormous potential for VRChat's growth. Here are some points that justify this investment: 1) Growth of the Brazilian Community: Brazil has an active and growing community of VRChat users, with thousands of players connecting daily despite the latency and challenges caused by distant servers. A local server would improve the experience for these players, making it smoother and more accessible. 2) Improvement of the User Experience: Latency and high ping are common problems for Brazilian players in VRChat, with the average over 190ms. This directly impacts the quality of social interactions and content creation within the game. Players face difficulties in interacting quickly and naturally, as well as in playing games in worlds and interacting with others in real-time. Implementing a server in Brazil would reduce these issues, allowing for a more enjoyable and efficient experience. 3) Opportunities for Local Partnerships: With a server in Brazil, VRChat would have an easier time establishing partnerships with local influencers and companies, expanding its reach. Additionally, the platform could organize events and experiences that are more relevant to the Brazilian audience, creating an engagement cycle that benefits both the platform and players. 4) Regionalizing VRC+ Pricing: A very effective way to further attract Brazilian users would be to regionalize the pricing for VRC+. Aligning the subscription costs with the local purchasing power would make it more accessible for a larger portion of the Brazilian market. This could encourage more users to subscribe to VRC+, enhancing the overall experience and expanding the platform's reach in the region. The implementation of this infrastructure, alongside the regionalization of VRC+ pricing, would bring positive results both for the company and the community, ensuring a stronger presence in a market with enormous potential.
1
Integrated worldhopping/exploring system
This one's a long write. Basically a party system with world preloading taken into account. How it would work: A leader invites everyone they want into a party system. Once everyone they want is in the party (everyone does not need to be in the same world initially), the leader can import or choose a world bundle (basically the worlds that shall be explored) and press "start exploration party" Everyone is now preloading the world in the background. Once everyone has the world preloaded, everyone gets sent to the first world in the map bundle list. When a person from the party is fully loaded into the first world, the next world will be preloaded in the background. The party/people explore the map however they wish. When the party leader decides to move on to the next world, a vote system comes in place. In here, people will decide whether they will follow the leader to the next world, or decide to stay longer. The people that voted to stay, will stay in the world. Everyone else that voted to move on, gets to follow the leader. The people that stay in the world, will have a small tab ontop of their quick menu, showing a 'join' button to go back to the party's current world. (i'm imagining the party mode would have a similar UI as the preload UI on the quick menu) if someone no longer wants to be in the party, they can click the X button, kicking them out of the party. The same routine for moving to a next world would happen for any remaining worlds in the world bundle. The last world could potentially be a 'default world' that is set, or simply be the last world in the world bundle. Once at the last world, the leader can click "final vote" (not sure what this button would be named) It will give a different type of vote, depending on what the leader themselves wants. For the leader, it will show 3 options: Prepare new world bundle set new leader Disband entire party first one "prepare new world bundle" will allow the leader to put another bundle into rotation, so as to continue exploring. 2nd option "set new leader" is self-explanatory. The current leader can choose a new user to become the party leader. 3rd option "disband entire party" will end the party. I wrote this in a non-cohesive manner, but i hope i got my point across.
2
Load More