Welcome to the Developer Update for 8 August 2024!
Today’s thumbnail features Vket2024S Parareal Osaka, which was available during this year’s summer Vket! Hope you had fun!
Our last Developer Update was back on July 25! Did you miss it? Go check it out here!
Announcements
A Moment of Remembrance
Gold, a member of the VRChat team, community member, and friend of many, passed away recently due to natural causes. This was a shock to all of us, and our hearts go out to Gold’s family and friends during this difficult time.
Gold had a profound impact on the team, not only in his work but also in his attitude and positivity. I recall that during his interview process, he demonstrated a natural understanding of some of our core values and tenets at VRChat: providing a space where people could be their authentic selves without judgment or fear. He carried that mindset forward in everything he did.
He was incredibly kind and understanding of everyone he interacted with and assumed the best in all people. His empathy and genuine care for others created a positive atmosphere within the team and community.
Amid his busy work life, Gold made time for his passions. He loved exploring new virtual worlds, meeting new people, and embracing the limitless possibilities that VRChat offered. His enthusiasm, kindness, and adventurous spirit were genuinely inspiring.
We recently published a blog post to memorialize Gold. You can find it here.
iOS Closed Beta Launch is Imminent!
Very soon™, we’ll be inviting a small group of users to test iOS in a closed beta.
Thank you to everyone that signed up to test, the interest was overwhelming! If you have signed up, keep an eye on your email for an invitation to the Closed Beta via Testflight. We’ll be starting with a small group initially and plan to increase the number of testers over time.
This is a Technical Beta focused on Stability and Bugfixing. Compared to the current Android version, some features may be missing or broken! Also, client updates to the iOS builds may lag behind other platforms for a bit.
Since testing spots are limited, we may consider rotating users out that aren’t actively using the app and/or providing feedback. We’re counting on testers to provide feedback actively via our iOS Closed Beta Canny. We’ll publicize the link when ready!
A Note About iOS Content
Similar to the underlying technical differences with how PC and Android content are handled, we have a tough challenge for iOS. There are millions of avatars and worlds and we’re working on creative ways to avoid the cold start problem for iOS.
These solutions will continue to evolve over time, but here’s what we have ready for the iOS Closed Beta:
- All users can now upload iOS content using the VRC SDK. This is true even if you’re not in the iOS Closed Beta!
- We’ve hand-converted a number of popularly used public Avatars from Android to iOS. This is nowhere near complete, but at a minimum it should reduce the number of grey robots seen on iOS.
- We’re experimenting with a fallback system for worlds on iOS
- If a world has an iOS variant uploaded by the owner, we’ll load that one for iOS devices in the same way that a PC and Android variants work, respectively
- If there’s no iOS variant available, but there is an Android variant, we’ll attempt to load it on iOS. Without getting into the weeds, we do some ‘best fit’ shader replacement. Expect the following outcomes:
- For worlds that stick to ‘typical’ mobile shaders, conversion is reliable and looks pretty good! You may not even notice that the world wasn’t published for iOS
- For worlds that use more complex or custom elements, we’ll try to fall back but you may see some malformed textures, odd lightning, or (in the worst case) pink shaders
- Sometimes content is so unique that we can’t even load it and the iOS app will crash. Crashing in a closed beta is a good thing, it’ll help us make these systems more resilient. Please report crashes on the Canny!
- We’re still evaluating if a similar fallback system makes sense for Avatars, more info to come as the Closed Beta progresses.
If you’re a creator and your worlds don’t look great with the fallback system, we highly encourage you to use the SDK to convert it to iOS natively.
Don’t worry – you don’t need a Mac to do this! You can create and publish iOS content from a Windows PC using our SDK.
We’ve done a lot of internal testing converting Android content to iOS and the process is generally pretty simple, pending the complexity of your world or avatar.
A Security Update… Update
In order to continue making ripping more difficult, we will soon be enforcing stricter rules in local test instances.
This includes using the “Build & Test” button in the SDK as well as using the VRC Quick Launcher.
In such instances, you will only be able to use avatars that you uploaded yourself, or are from the “Public” avatar row. The menu will let you know with a warning message if an avatar is not supported in a local test instance.
We continue to be committed to improving protection against unauthorized access of content. These changes will roll out in the coming weeks and allow us to stack another layer of protection onto all content on the platform.
In addition, in our continuing efforts to address avatar and asset ripping, we have issued a further set of bans targeting accounts verified using tools to rip avatars from other accounts.
“Ripping” is a term for downloading an asset from VRChat that does not belong to you using tools prohibited by our rules. This includes extracting and converting avatars or worlds gathered from your game cache, memory, or our API.
This “ban wave” consists of approximately 2,400 accounts. These bans are being issued to accounts that were validated and verified to have engaged in ripping using unauthorized third-party tools, client modifications, or other methods. Bans have also been issued to accounts associated with those accounts, as it is very common for rippers to use an alt account to avoid bans on their primary account.
As always, our teams will continue to work behind the scenes to protect both VRChat users and their content.
A Quick Note on the SDK Roadmap!
We haven’t forgotten! There’s a lot we want to talk about – but you can expect that in the next Dev Update, not this one. We wanted to give a general heads up, however, just in case you thought we forgot.
Ongoing Development
Favorite Friends is Now on the Website!
Yep!
Look here:
You can now:
- Add and remove friends to your favorite friends list from your friend’s user profile page.
- View your full list of friends from your favourite friends’ lists.
- Manage your favourite friends’ lists, e.g. edit list name, add / remove friends from list.
Invite Offline Users is On the Way!
Have you ever wanted to invite a friend who’s offline or active on the VRChat website? Well, we’ve got good news!
You’ll be able to invite “offline” friends who:
- Receive push notifications though the VRChat mobile app!
- Are active on the VRChat mobile app!
- Are active on the VRChat website!
How do I invite my offline friends?
Find the friend you’d like to invite.
The “Send Invite” button will appear if they receive push notifications through the VRChat mobile app…
…or if they’re active on either the VRChat website or mobile app, as indicated by the new ring-shaped status icon.
However, if your offline friend isn’t actually receiving these notifications anywhere, then the “Send Invite” button will not be present and they cannot be invited.
We also combined the “Online Friends” and “Offline Friends” rows into an “All Friends” row, and added new filters to easily find more friends to invite.
How do I get offline invites from friends?
To get invites while completely offline, you need to opt-in to push notifications on the VRChat mobile app. You’ll have the option to join, reply with text, or dismiss the invite.
If you’re active on the website or mobile app, you should see these invites come in regardless of if you’ve opted in to push notifications.
New Status Icons
As mentioned a little earlier, the status icons got a little update, too. The colors remain the same, but there’s a friendly new shape.
In-World: If a user is currently in a world, they’ll have the current filled circle. No changes here!
Active on Another Platform: If a user is active on the VRChat website or in the mobile app but are NOT in-world, they’ll have a new ring-shaped icon to show that they’re active on another platform.
Offline: And finally, if a user is offline, they’ll still have an empty circle. These users can be invited only if they’ve opted in to receive push notifications from the VRChat mobile app.
…and a few more bonuses coming along with this feature
You’ll be able to see how long friends have been offline for in the VRChat client itself, not just on the website!
The website friends list just got an upgrade! We pushed this one a little early. It now sorts via status by default to show who’s easily joinable, and it already has new ring-shaped status icons too so you can see who else is lurking on the website.
Location information on the website and mobile user profiles has also been updated, showing the user’s currently active platform, or showing that they’re offline.
And a few changes thanks to early feedback!
When we pushed this feature last week, we noticed a bit of feedback regarding sorting users by their status.
We’re making adjustments to the website friends list layout based on this feedback to separate In-World, Active on Another Platform, and Offline users clearly.
Camera Updates
A few camera updates are in the works!
Portrait Orientation
You can now toggle between landscape and portrait mode! This also works with fly mode, which previously always forced the camera into landscape.
Show Focus
We’ve added a toggle to the focus menu that helps visualize where the camera’s focus is in the viewfinder.
Ukranian Language Support
We’re adding Ukrainian localization support! For a long time this was the most requested language to support next so we’re very excited to add it to the list of our supported languages for Localization.
We’re currently working with the community to set this up to start getting the first translations in so keep an eye out in our Localization discord for a formal announcement with its community guidelines, as usual you can find our Localization discord server invite here.
Conclusion
That’s it for this Dev Update!
The next text update is scheduled for August 22. See you then!