Developer Update - 30 March 2023

Welcome to the Developer Update for 30 March 2023! This is the tenth Developer Update of 2023.

Today’s featured world is Exoplanet Journey by Niko∗! Visit planets beyond our solar system while lying in comfort within an ultra-tech spaceship. Polarity inverter not required.

If you’d like to catch up, read our previous Developer Update from March 23.

SDK Email Authentication SOON!

Last October, we introduced email verification! Over time, we’ve enabled it for all registered VRChat account users who are not using two-factor authentication.

Over the past few Dev Updates, we’ve been telling you about how SDK logins will trigger email authentication. This is going to change within the next few days!

Once SDK Email Authentication is enabled, you may be prompted to check your email for a login code when you log into the SDK. This doesn’t happen if you have 2FA enabled already.

Users on older SDKs will get an error in the console with as much attention-getting formatting as we can manage.

Old Unused Account Cleaning

We will be cleaning up some old, unverified, completely unused accounts from our databases. If you have used an account at all, this does not apply to it.

Avatars For Everyone Jam Closing Soon!

We’re doing an avatar jam! Check out our latest blog post to learn more about the Avatars for Everyone Jam.

It closes next week, on April 3! Get your submissions in!

Check out the blog post for more info, rules, guidelines, the submission method, and more.

Ongoing Development

We’ve got a big announcement for you today, so let’s start with that one…

VRChat on Android Mobile

That’s right: we’ve been working on bringing VRChat to Android mobile devices.

This initial build we’re showing off is VERY MUCH IN-DEVELOPMENT. Absolutely nothing we’re showing here is final – not the UI, menus, movement systems, nothing. This is us, telling you “Hey, we’re working on this. ISN’T IT COOL??”

We’ve also had some team members play VRChat from some interesting places!

VRChat for Android Mobile has been in development for a while. Team members have used it to attend large team meetings, and we’ve been sneaking around in VRChat, trying it out! Who knows, you may have already seen someone using their phone to play VRChat. :eyes:

Let’s dig into some details.

Content

Since the Meta Quest runs Android, any world or avatar that works on Quest loads just fine on Android mobile.

There’s also the content experience part to consider – some world content works great as-is, but some other content will need to account for users using touchscreen controls instead of VR controllers. Some changes may be required if your world has more complex controls. We’re researching options on how best to expose controls to Udon authors.

To put it another way, many worlds – even game-play rich ones – work great as is!

Some worlds designed for VR without a focus on PC desktop may still work, but might be high friction and require some tuning. Finally, a few worlds might not work at all, depending on your device.

World creators, we want your help and feedback! Making a few small tweaks to your world with 2D platforms in mind (PC Desktop and Android) may go a long way for compatibility. We will work closely with you and collect your feedback to ensure it’s easy to create worlds that work across keyboards, VR controllers, and touchscreens. More info on these efforts soon.

Launch Plans

To start, VRChat on Android Mobile will only be available to VRChat Plus users. We want to get you a build ASAP to try out and start working with, while also allowing us time to refine the UI and UX before a full public launch. This also allows us to get your feedback about the app so you can help us track down issues and annoyances.

We plan to launch VRChat on Android Mobile to VRChat Plus users within 3-4 months. This timing could change! It depends entirely on how the development process goes.

A full public release will follow our VRChat Plus release, ideally 3-6 months after the VRC+ release. As previously noted, this may change. This date depends on how much work we need to do to improve the UI and UX.

The app will not be available freely on the Play Store for the VRC+ release. This means you can’t search for it. You will get a unique URL with beta access to get into the VRC+ release. Plans are pending, we’ll let you know how this goes.

Please exercise normal app store caution and do not download fake apps.

iOS when??!

I expect this to be one of the first questions people ask. :sweat_smile:

We are working on an iOS version of VRChat, but it is farther out. The challenge here is content, since iOS uses a completely unique and different graphics framework. This means you would have to upload content built for iOS, which means three builds for one piece of content. Not ideal!

So, we’re working on it. More on this Eventually™️.

(“Eventually™️” is like “Soon™️” except even further out. Patience!)

Further Info

There are some big differences between how you use VRChat on mobile vs. VR, so we’re also working on various systems to support those differences, both technically and socially. We expect people to use VRChat for different things when they’re on mobile!

Improving systems to help users self-organize is very important for this launch.

Hardware requirements-wise, it’s a bit tough to “rank” mobile hardware. We require a “mid-range device,” generally defined as 6GB of RAM or more. If your device does not meet the minimum requirements, you cannot download or install the application.

We usually answer many questions in these Dev Update threads, but since much of this is still in development, we’ll be quieter regarding specific details for VRChat on Android Mobile. Most of the answers are likely along the lines of “dunno yet. We’ll get back to you!”

We’ll have a much bigger announcement for when we do the VRC+ launch and another when we do the full launch. We wanted to let you know what our plans are! We’re really excited to let you try out VRChat on Android Mobile soon.

VRChat on Unity 2021.3

Ha ha, just kidding, two big announcements today

We are migrating VRChat to Unity 2021.3 LTS.

We’ve been working with Unity to upgrade to 2021.3 as seamlessly as possible! There is no widespread need for content re-upload – no, not even for the SPS issue. Unity has been helping us out a lot!

Some things may need a re-upload, but we’re trying to squash those before release. It’s likely we won’t get everything. We’re aiming for a healthy Closed and Open Beta to help catch the stuff we miss.

We’ve been testing 2021.3 builds in Live for a while. Aside from some very small bugs, it works pretty much flawlessly. We will be starting a closed beta within the next week.

There’s quite a lot of changes that have happened to Unity between 2019 and 2021, but generally speaking the VRChat creation pipeline won’t change all that much. Notably, 2021.3 LTS includes improvements to the performance of shape keys during skinning calls, which has been one of our recent avatar performance concerns.

If things work out right, we may instead migrate directly to an even-more-recent Unity version. No news on this front yet, but don’t be surprised if we jump a few more versions in a future announcement.

Overall, our goal is to make the upgrade as painless as possible and minimize content loss. So far it seems we’ve hit that target.

Remote Player Collider Changes

In an upcoming release, we will adjust the collider scale of remote players in worlds to match the local player’s collider scale.

Previously, the collider for remote players was a sphere at the player’s feet. This caused unexpected behavior when worlds attempted to do collisions with players. Sometimes you could have a player see themselves not colliding with a object, but other players would see them as colliding with it due to the scale asymmetry of colliders between local and remote.

Here’s how the old remote player collider looked:

… and here’s the new one, which mirrors the local collider.

Some worlds may break if the world made some very specific assumptions about the collision, such as a head-height collider that assumed OnPlayerTriggerEnter was always the local player. This may break when it suddenly starts reporting remote players as well.

We’re Hiring!

As noted last week, our Careers page is stocked up with positions we want to fill!

If you want to join our amazing team and help build VRChat, check it out! We’re a fully remote company that hires worldwide, offering many great benefits.

We’ve often hired out of our community (oh hey, myself included) and many of our unique strengths come from that. If you want to contribute and help develop VRChat, apply!

Conclusion

Whew, lots of stuff this week! We’ll have more detail for you in upcoming Dev Updates and blogs as we have more information to provide.

Thank you for reading, and we’ll see you next time!

68 Likes

Thank you for another informative Dev Update!! The platform has been evolving rapidly this past year, and you folks have done a great job implementing these updates! I finally have a reason to consider buying an android phone again :smile:

I know I throw a lot of ideas out there during these updates. Is this the best forum for pitching my ideas? No, Probably not… But you know what they say about squeaky wheels… and, I am ‘That Guy’… sooo today, I have a minor QoL suggestion; Emoji’s!!

I think it would be awesome to add some more quick/radial menu emoji options at the base level, or as usual, I think it could be used as a low impact VRC+ recruitment/retention strategy.

As a mute, I like to use emojis to get certain points across. I think special/new emojis could help people who speak different languages, or have speech/hearing difficulties, communicate a little more effectively. For example, a small friend request emoji or a small “18+?” Emoji; A quick way to float out a question, without getting too tied up in the chat box.

On the flip side, I’d love to see some new emojis flying around the music venues; more ways to show the DJ that we’re jamming along and enjoying their songs. Or at open mics; more ways to cheer them on/off stage.

I know that we can add custom emojis to our own avatars… I was thinking, what if y’all ran a ‘emoji jam’ where the community can submit their own creations and/or ideas? Then implement the most popular/appropriate submissions into the base SDK.

Thanks team! You folks are some talented people doing great work!

16 Likes

any news on udon json :3

9 Likes

Few Things to get out:

First, hopefully when we jump over to 2021 (or maybe 2022 LTS?) we can at least have streaming mipmaps as a default.

Second, Hope that player collider stuff syncs with the armature moving relative to playspace. It can get very hard to moderate someone when it’s hard to find their player capsule, especially for the tiny avatars.

Third, since Unity 2021 would require to use OpenXR inputs that all of the inputs for things like Gesture Override Controls can be exposed so that those on Index can better control their emotes over the current system.

Other than that this update is getting a lot of people excited, especially that blendshapes (hopefully) won’t take a perf hit.

5 Likes

Can’t wait to VRChat while I’m on the toilet! :smiley_cat:

Huge updates, and great news that there won’t be a content wipe with the Unity update!!

9 Likes

This is a way different mobile app that I’ve been waiting for, but hey, looks pretty cool

1 Like

Does this also fix the different sizes between remote and local? https://vrchat.canny.io/bug-reports/p/version-all-player-and-player-local-have-different-sized-and-shaped-colliders
Nvm tired brain, see that it does fix the player colliders

1 Like

“Soon™️” is all I’ve got

From what I understand, turning it on without all content having it enabled is a Bad Thing To Do, so I dunno.

Waiting on someone’s input before answering this, I think I know the answer but I’m unsure.

In Unity 2021.3 we’ll be switching to the supported API which is technically OpenXR based but we are only using it for Meta HMDs. SteamVR support will still be through the OpenVR API.

2 Likes

-Nice soundpad!
-This isn’t a soundpad…

3 Likes

Any mention on the current plans on how customizable button inputs can be on this? Like what if I want Genshin Impact level button input? Or maybe the ability to put Genshin Impact level animation buttons?

1 Like

Really happy to hear that the Unity version is getting moved up! I’m curious though, does this also potentially mean we might also be able to use Shader Graph or VFX Graph in the future too?

3 Likes

If/when we update to a version where the Shader/VFX graphs work for the Built-In Render Pipeline, I’d expect so!

3 Likes

Wow, I almost thought it was a premature april fools post at first. But ok, just like with Quest it’s great to give more people the ability to use VRC but I don’t like inferior hardware holding back things etc.

Also bittersweet is the new Unity. orz
I’m not even done with avatar 3.0 because of private reasons but also because it’s so hard to even upgrade my avi to the state my current one is in. So really hoping I don’t have to start from scratch in a new Unity project. I’m scared.

1 Like

Excited for une engine upgrade, hopefully it’ll help those crazy CPU frame times we’ve grown accustomed to even on the highest end of hardware.

1 Like

I’m guessing here, but migrating from 2019 to 2021 (or whatever version we swap to) will likely be very easy, especially with the VCC available to help with the migration process.

As we point out in the text of the update, nope, you’re good. :slight_smile:

PC VRChat isn’t going anywhere, trust me.

3 Likes

From what I’ve been digging up there are still a few issues with it but it is usable.

Hopefully in the coming weeks it’ll be explained how VCC will help in getting the newer LTS in there. But with the engine upgrade would this mean that cloth plugin that’s in 2020+ will get whitelisted for VRChat, if not some sort of NDA stuff in regards to cloth physics

2 Likes

There is a new Steam Audio version for unity. Will this be used with the steam audio beta we will eventually get?

Haha no I didn’t think it’s going anywhere of course… and I for sure understand that it’s worth it.

Ok good to read, I didn’t know it meant that. A bit confused though, you say you’re guessing but also saying I’m good. But I guess it’s two different things, migration and making it work again in a new upload. And I was also confused when I did start from scratch cause people told me I had to and then I didn’t have to. But I wanted to do it anyway so it would be more stable etc.

Wouldn’t wanna finish it and then have to repeat the process, then I’d rather wait. I feel so ashamed about how long it’s been…

Thanks for replying. X3

1 Like

Did a bit of digging, and it seems like there might be support for it in 2021 at least for ShaderGraph? I’m not as sure about VFX Graph at the moment though.

PR A friend found for reference: https://github.com/Unity-Technologies/Graphics/pull/4030

1 Like

That’s the plan! We’re still working out the details, but we’ll definitely use one of the recent releases of Steam Audio.

6 Likes