Developer Update - 23 March 2023

Welcome to the Developer Update for 23 March 2023! This is the ninth Developer Update of 2023.

Thanks to rakurai5 for this week’s banner, which features their world Floating Breath! Please don’t tap the glass.

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

We’re Hiring!

As noted last week, we’ve got our Careers page stocked up with positions we’re looking to fill!

If you’d like to join our amazing team and help build VRChat, check it out! We’re a fully remote company that hires worldwide, and offer a ton of great benefits.

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

SDK Email Authentication

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.

Currently, SDK logins do not trigger EMail authentication. However, this is going to change soon!

Once SDK Email Authentication is enabled, if you log into the SDK, you may be prompted to check your email for a login code. Of course, this doesn’t happen if you have 2FA enabled already. Kudos to you for being mindful of account security! We expect this change to occur within the next month or two, and we’ll warn you via Dev Updates and a Discord post when we enable it.

Here’s the issue we’re wrestling with: lots of people still use very old SDKs. This is bad for multiple reasons, but it’s bad here because older SDKs cannot properly handle the email authentication process.

Once we enable SDK Email Authentication, creators will need to either update their SDK to the latest version or enable 2FA.

As a reminder, new projects can get the newest SDK by creating them with the Creator Companion, manually installing one of our VCC Packages, or using a template project.

Old projects can be migrated with the Creator Companion.

If, for some reason, you cannot update your SDK, enable 2FA on your account. You will never recieve email authentication requests if you have 2FA enabled! If your SDK is so old that it doesn’t even support 2FA-- BTW, that’d mean your SDK is four years out of datewe cannot help you. Please update your project. :smiling_face_with_tear:

SDK2 will not recieve an update to support email authentication, as it is deprecated. Either upgrade your project to SDK3, or enable 2FA.

Avatars For Everyone Jam

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

Our “default avatars” have been around for quite a while, and we’d like to give avatar authors an opportunity to show off their skills. If you submit an avatar to this jam and follow the guidelines, there’s a really good chance your avatar will be featured in the Default avatar row! The authors of winning submissions will receive a year of VRChat Plus, for good measure!

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

2023.1.2p4

We released a small patch this week! It covered a few small fixes.

We’re also looking to get an SDK out for you very soon that’ll include a bunch of fun stuff, so keep an eye out for that.

Ongoing Development

VRChat Creator Companion User Repositories

We’re currently hard at work on the User Repositories support in the VCC! Users will be able to add, remove and toggle all of their installed repositories right from settings, which then allows them to get the latest packages and updates from their favorite creators right on the project management page with easy-to-use UI.

Here’s a little preview of some of the UI:

We’re currently working through the internal changes needed for this to work well and to have a good UX feel. Those who are interested can keep an eye on this milestone on our public VCC GitHub!

Udon UI Progress

Udon UI is very close to being ready for internal testing! You can now visualize your changes immediately when they are changed in the outliner which makes iterating on your UI much faster. Also, we’ve added in some more UI so you can easily change how the user can interact with a value, such as direct value typing or using a slider.

VRChat Quick Launcher Update

We’er working on a new update to the VRChat Quick Launcher!

First off, we’re adding the ability to modify the VRChat install file path and give them an alias.

Say, for example, you have a VRChat install list like so:

Oh no! You accidentally put the wrong path in. There’s now a handy button that allows you to edit that list!

You can now just remove that wrong game from the list.

Even better, if you add | and follow that with some text, you’ll add an alias to that installation so it doesn’t show the entire path and is easier to recognize.

This tool was originally developed for our QA team, but it’s super useful for testing things! For example, it works great for launching multiple copies of VRChat running in a single instance. You can even set it up for local instances! Check it out here!

You can access the Quick Launcher via the VCC’s Tools section.

Conclusion

Nothing super flashy this week, but rest assured that a lot of work continues in UX and UI land on unannounced features.

In particular, keep an eye out for a Dev Update Video in the next few weeks! (Did you know we’re looking for a video editor??!) Lots of good stuff is planned for that video that we haven’t talked about yet, so we’re “saving up” a lil bit.

See you next week!

18 Likes

The Udon UI looks really handy! Can’t wait to see that implemented into more worlds so I don’t have to hunt down the music volume slider.

About time! :smile_cat: Now to make sure I can prove that I’m the best person for the job. :thinking: (video editing is my day job but I’d love to get into something a bit more fun than B2B)

1 Like

Video update? Looking forward to another roadmap so we can never shut up when dev priorities shift and functionality takes longer than expected to implement :blush:

2 Likes

Any update on adding the jsonutility class into udon? the current udonsharp implementations are great but pretty slow with large json files

Did you know we’re looking for a video editor??!

I used windows movie maker before, do I qualify?

1 Like

Excited for the UI update, should make things just that much easier! Thanks guys!

1 Like

Will Udon UI be savable between world visits?

Would not only be handy, with how often the settings panel is the first stop visiting a world, but could also allow for saving world state.

1 Like

this would be nice so I dont have to keep turning the music off lol

We gave an update on it last week - it’s getting close and it is likely to make it into the next release (not patch)

W, cant wait!

Saving UI settings is great feature idea, but it’s not part of the initial scope.

2 Likes

could it be possible to have a .json file to edit/manipulate controller inputs as the SteamVR bindings feel a bit limited in terms of actual customizability. It would also help those that are actively developing controllers to be able to access this too

yessss, I’ve been looking forward to user repos ever since I started world and avatar creation. I can’t wait!

keep up the good work!

2 Likes

Continuing the discussion from Developer Update - 16 March 2023:

Clearly you don’t understand people who regular VRChat, as has been evident for a long time. People in general don’t care about worlds as much and prefer to stay in their hang-out worlds than move. Majority of people wish to have avatars/characters and interact how they please where they please, akin to GMod, Roblox, Second Life, and many others. Worlds are extremely restrictive, as you are forced to physically GO THERE to do anything. I am quite well versed in graphic and game design even if not in the coding end of things, i don’t need an “opportunity to learn”. I know exactly what i want and why. Showing off various cool things on avatars was always a big thing since the beginning, because it’s portable and individual and can be shown anywhere to anyone. VRChat is going to fall far behind the curve if it keeps sticking guns to dated methods of inflexible content (just look at UE5 revolutionizing the face of interactive media).

Audio source count for actively playing audio is not performance intensive (and should be on it’s own thread anyway), most games use many many many audio sources, and it is common to also abuse PlayOneShot, allowing endless overlapping playback of singular audio sources. There are probably pre-made scripts or prefabbed systems for managing high counts of audio sources. Most people do not use many audio sources that play overlapping, but people like myself and many i know who are more advanced, find the limitation of audio appalling, as it severely limits USER immersion with their own avatars, and be able to play with it and with friends wherever we want, and not be restricted to a single place that has no replay value. Claiming performance issues, when much of VRChat’s performance problems are due to stuff like Udon, limited internal systems optimizations, and promoting wide use of heavy shaders is a bit silly (all of my performance problems lately are cpu bound i never had a couple years ago, most of cpu cost it outside of user ability to optimize).

I have never seen the audio buffer get maxed out in VRChat, outside of the world uoppoH UDON tests where there is sounds for collisions including multi-layer penetration, and even then, i have to extremely rapidly fire a tank round as fast as i can humanly click to penetrate and stack sounds through several impacting layers at once to make the sound buffer start cutting stuff out, so i haven’t the faintest clue what you are talking about.

Even changing the cap from 3 to 5 or 6 would make all the difference in the world. 3 simultaneous audio sources makes immersive effect audio on avatars essentially impossible due to transitions and overlap being essentially ruled out. — I’m talking about complex props and utilities and binaural immersion (think weapons, gadgets & gizmos, transforming avatars, interaction foley etc), not grandiose performances. I’ve had a canny up for this for a long time.

. . . I’m not even going to get started on how avatar audio is like half the volume of everything else (i have to have everything else half volume and then crank up my system volume to properly balance audio ingame, i can barely hear most peoples’ avatar sounds over anything else otherwise).


As a side note, having the ability to enable stuff like particle collision messages on Avatar Dynamics Contacts would also be extremely useful for some, though obviously would have performance cost, but there are plenty of mitigation strategies in the industry.

2 Likes

Can we get a yes or a no (or an “eventually”) on the possibility to group+ instances?
Seems to be a pretty popular idea, still hoping for the other large group updates with it!

3 Likes

Are there any plans to add the ability to request teleporting to player?

2 Likes

seconding this, pretty much the last feature I really miss from clients

Nice stuff! Udon UI looks pretty cool, looking forward to that :smiley:

I’ve asked before, but im asking again as I’ve been accidentally walking up some tables today again. xD
Are there currently any plans to change the Collider Capsule for players?
It would be really nice if it was attached to the hip instead of the head, for all the FBT users who want to lean over a small object, or look down a cliff.

Would be small effort (i think) for huge QoL improvement :smiley:

2 Likes

Udon UI Progress

Udon UI is very close to being ready for internal testing! You can now visualize your changes immediately when they are changed in the outliner which makes iterating on your UI much faster. Also, we’ve added in some more UI so you can easily change how the user can interact with a value, such as direct value typing or using a slider.

:thinking:but interesting but a little bit confused oh well we will try something new with that to learn new stuff.

I’m a bit confused, what’s the practical use (if any) for having multiple different installs of VRC on a single machine?