Developer Update - 15 June 2023

Developer Update - 15 June 2023

Welcome to the Developer Update for 15 June 2023!

This Dev Update thumbnail is graced by QuarT0niX’s world Path of the judgment. Don’t look up. Don’t look up. Don’t look up. Don’t look up. Don’t look up. Don’t look up. Don’t look up.

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

Important Info / Announcements

VRChat 2023.2.3 Released!

Earlier this week, we released VRChat 2023.2.3!

In addition to the normal full patchnotes available in our docs, we’ve also got a video for you that has a summary of the features and changes.

VRChat Creators Documentation Site is now Live!

We’ve just launched a new documentation site for world and avatar creation!

Now, we have two different docs for VRChat:

docs.vrchat.com will redirect to creators.vrchat.com where appropriate. There shouldn’t be any dead links! (but let us know if you see any.)

If you see an arrow :arrow_upper_right: next to a page on docs, it’s about to be unlisted/cleaned up.

On the new Creators doc page, Creators can easily suggest changes or give us feedback. There’s two ways to do so:

You can click “Feedback” in the bottom right to submit feedback or page ratings.

Alternately, you can click “Edit this page” at the bottom of any page to directly suggest changes via GitHub!

We’re also accepting PRs (after review), if you want to contribute more to our docs.

yt-dlp Updates

We’ve updated our fork of yt-dlp – the application we use to resolve URLs in VRChat – so that it fixes two reported bugs specific to VRChat.

The first is that we’ve fixed an issue where video players wouldn’t work if a user had their own yt-dlp user config defined.

Second, we’ve fixed an issue where links from playlists would take way longer to resolve and play properly.

These updates and fixes are live right now!

Lyuma’s Av3Emulator now in VCC!

We’ve added Lyuma’s Av3Emulator to the Creator Companion’s Curated Package listing, so it’s easily available for all VRChat Avatar Projects!

This great package emulates most features of Avatars 3.0, including live viewing and editing within Unity’s Animator window, testing Custom Expression Menus, Float and Int Parameters, Visemes and OSC control. It makes testing and debugging your avatar in the Unity editor way easier!

Ongoing Development

Custom Emoji

We’re adding a new VRChat Plus feature: custom emoji!

We’ve been working this much-requested feature for a good bit. As you can see, thanks to the UI revamp, we were able to build a nice fancy UI for building your own emoji while in VRChat. You can build emoji from images in your gallery, a picture that you take, or head to the VRChat website to upload an image yourself.

You can create and save up to 5 custom emoji. You’ll have the ability to quickly edit, delete and create them from your gallery.

We have 27 animations that you can choose from! 15 of them are copied from the original emoji list, but we have created 12 unique animations just for the emoji creator.

In addition, we’re adding a whole new default emoji section specifically for accessibility-related emoji, which will release alongside Custom Emoji. These emoji will be free for anyone to use! Those aren’t finalized yet, but we’ll show them off when they’re ready!

Quick Menu Settings Revamp

The Quick Menu’s settings are being updated to resemble the style and layout of the Main Menu’s settings!

The final Quick Menu settings section is still in progress, but this should make it into the next major release.

Updated SDK Build Panel

We’re hard at work on the updated build panel for the SDK (both for Worlds and Avatars)!

A shortlist of goodies:

  • Avatar/World Uploads without entering playmode!
    • Changing the name, description, tags, etc does not require playmode either
  • You can now change thumbnails without full reuploads
  • Sleek new UI (built with Unity’s UIElements)
    • Should look better in light mode too!
  • Better performance
    • Many things that used to happen every frame are now much less frequent, and some no longer relevant checks have been removed! Big world scenes should no longer kill the build panel. woo!!
  • Many small changes to help newer creators find their way around the SDK
  • You can now upload your selected avatar even if other avatars in the scene have incorrect settings or other errors!

Here’s a little preview video for ya. Avatars first! (neither UI is done yet so, yes, some things are missing)

aaand the world SDK too:

Things are still WIP so stuff will shift around and be more polished, but you’re reading the Dev Update! You knew that already, right? :sweat_smile:

Localization Update!

A while back we talked about localizing the VRChat UI! We opened up community contributions via Crowdin and the community has been contributing a TON:

Thank you to everyone who’s helped out so far! Thanks to all of your hard work, French, Italian, Korean, and Spanish are all complete, or dang close. (the second percentage is the approval rate, which is the “this is done and good” marker)

We expect to deploy a release with these translations in an upcoming update. As further translations are completed – by the way, we’re considering 95% or higher as “complete” – we’ll fold them into the following release, and update them as time goes on.

UI QOL Fixes

We’ve been working on a few tiny lil UI QOL fixes, and we thought we’d show it off.

First, we’ve made the world description expandable! Long descriptions are finally more readable.

Next, we’ve freshened up the VRChat+ UI a little bit:

Unity Upgrade Update

A small but important update for our work on the Unity update we previously mentioned back in March: we’re evaluating going to Unity 2022.3 instead of 2021.3!

The 2021 LTS release is already halfway through it’s two year support cycle, and the 2022 upgrade doesn’t seem to cause (many) new problems. As such, we’re currently evaluating if it’s worth it to jump another year up. This isn’t a commitment, but we are confident enough in the jump to start testing it in our Closed Beta – which, by the way, is still going on.

As before, Unity is helping out a lot with this update, fixing a ton of bugs and issues we’re finding. Thanks, Unity! :heart:

We’ll keep you updated.

VRC PhysBones, VRCPhysBoneCollider and VRCContact Hard Limits

Due to how collisions work with VRC PhysBones, PhysBoneColliders, and Contacts, we have to implement a hard limit on these components.

In an upcoming update, each of these components will have a hard limit of 256 each. If you go past 256, further components will be removed.

The “first” 256 components are dependent on how Unity native functions return those components back to us, which is a bit arbitrary depending on their search method.

These limits are enforced in the client before an avatar loads, so this will affect previously uploaded avatars. The SDK will now give you an error if you attempt to upload an avatar beyond these limits.

These changes come with a number of fixes to known vulnerabilities, as well as a number performance enhancements in cases with large number of components.

The performance enhancements shouldn’t be noticeable under most situations, only when a large number of components exist. The most noteworthy performance increase is with Proximity based VRCContactReceivers.

Conclusion

That’s it for this Dev Update! Our next update is scheduled for June 29th, 2023. See you then!

29 Likes

Not that the new contact limit impacts me, but is there ever a chance that we could have contacts that only load locally? Such as for haptic vest setups, since that only needs to work on that individual user’s system.

20 Likes

I think it’s been considered in passing, but not much beyond that. Good idea!

3 Likes

Are any pre build hooks affected by this? Anyway cool that uploads are so smooth now!

1 Like

Good question! I’ll bring it up. I fully expect that it’s been handled, though, we’re big fans of a lot of tools that rely on those.

Response:

Full feature parity is the goal, so yes, no plans to break existing build hooks of course.

1 Like


I’m not sure if those settings are needed in the Quick Menu tbh

5 Likes

Even just 50 physbones seems excessive, can’t even imagine what people need more than 200 for

2 Likes

I’m always happy to see QoL and UX improvements. Love you guys. :blush:

Now I just hope granular safety settings will be on the radar, plus some custom whitelist for VRCUrls so the 5 second query can be reduced :eyes:

1 Like

contact limit seems good. Majority of people do not use that many anyway, but i am hyped for custom emojis! awesome work!

that’s better now I can do more stuff in there like easy way worlds and avatars.

2 Likes

Are there any plans for localization VRChat into other languages or this is the only six (exept english) that we’ll have?

1 Like

Good to see custom emojis are happening
Now if we can get default emotes/custom emotes added and stop having to reupload the same animations, EVERY. TIME.
It would be a good practice to have custom animation 12 slots for emotes with VRC+, it will reduce the amount of times animations are uploaded and be a QoL feature

1 Like

If it’s not planned yet, it would be really nice if there was a better way to make avatars cross-compatible in the new UI. It can be really difficult to explain how and where to copy/paste Blueprint IDs to those without much unity/avatar knowledge. I’ve made my own tools to do it but it’d be great to have it included by default.

2 Likes

As noted in previous Dev Updates, we’re doing these languages to start but will add more once we’ve completed these and have a better process in place.

I’m… not sure I follow? Do you mean that VRChat should add on additional components at runtime to avatar animators? I feel like that tramples on avatar creation a bit.

I think the confusing bit for me is that we don’t call those ‘emotes’ anymore, generally. That’s SDK2 language.

General SDK UI improvements are in the pipe, and these changes we’re showing off are some of the first results of that effort.

2 Likes

I’m on board with this!

2 Likes

Uploading without play mode WOOOO!!!

  • Changing the name, description, tags, etc does not require playmode either

Tags being mentioned?! Are they being implemented to serve an actual purpose or be exposed somewhere in the interface?
Edit: Oh, I totally forgot about worlds having tags and was thinking of avatars.

A queue for for multi-upload with the new interface would also go a long way for those of us with prefabs that propagate changes across multiple avatars. EG: I have all my base physbones on a prefab, so when I apply an update to the settings on one it’s pushed to all my others.

Huh, looks like I missed that dev update :sweat_smile:
That’s good to know, thanks!

Custom emoji are kinda cool, but WOW 5 is INCREDIBLY low. Almost makes it kinda pointless. Was there a reason behind the choice in thaat number?

1 Like

For worlds? Tags are used all the time and are exposed directly to the user in the UI.

You can search using them, and you can click on them in the World view to view other worlds tagged with those tags. I use them quite often to look for new flight worlds, myself.

Edit: Ah, you discovered that. :stuck_out_tongue:

3 Likes

Unrelated to the update, but is there any plans for something like a refresh button for instance? Every time I get on, and want to join public world I see the correct amount of people in the public display instance but after a few minute/hour of play those number just doesn’t update. Neither do the new created instance. Its very frustrating to go to your favorite were the instance display 15 people to arrive there and only see 2.