Developer Update - 27 October 2022

Welcome to the Developer Update for October 27th, 2022!

If you’d like to catch up, you can read our previous Developer Update from October 20th.

Spookality Results

Spookality’s submissions closed last week, and our judges have been hard at work taking a look at the 200+ entries!

Check out the Spookality Hub for portals to the worlds as well as the avatars! You can also find Spookality worlds in its own category, so you can hop through at your leisure.

Thank you to all contributors to Spookality this year – you’ve created some truly incredible worlds and avatars this year!

VRChat Creator Companion

As we’ve talked about in previous Dev Updates, the VRChat Creator Companion is the new entry point for creating things for VRChat! It currently includes our new VRChat Package Manager (VPM), and will eventually house documentation, examples, news, jam info, community prefabs and more!

We plan on swapping entirely to the Creator Companion starting in January 2023. This means that you’ll only be able to get SDK updates through the VCC¹, and UnityPackage downloads for all SDKs will no longer be available.

Furthermore, since the VCC does not support SDK2, this also means that SDK2 will no longer be offered for download starting in January 2023.

The VRChat Creator Companion is something we’ve wanted to move to for a long time. Relying on a set of UnityPackages alone is not viable for ensuring users have the correct setup for developing for VRChat, and puts a lot of the onus of setup and maintenance on the user.

Setting up a VRChat development environment can be a challenge, especially since a lot of our creators have never touched Unity before! The VCC’s UI is a friendly, easy way to install the required software in an automated fashion. Of course, this UI gets out of your way if you know what you’re doing – even to the point of allowing you to run the VPM without a UI so you can keep it minimal, or build your own automation how you like it.

Using the VCC or the VPM in your current, existing projects is easy. We have a migration guide that covers the process for you. As the owner of an incredibly messy avatar project, I was blown away that the VCC handled migrating that disaster without a single error thrown…

Additionally, since UdonSharp is now an official VRChat package, we’re also offering an UdonSharp 0.X migration guide in case you’re running an older, 0.X version of UdonSharp.

A huge amount of our SDK issues in support and bug reports are due to users running very out-of-date packages, using the wrong version of Unity, or a bevy of other maintenance-related issues. The VCC and VPM will help us address these issues to start, lowering the technical barrier of “oh great, Unity’s giving me random errors yet again” that many new creators run into and don’t know how to deal with.

In the future, those tools will also give us a whole new space to help creators find all the docs, examples, news, and info that’s relevant to them, in addition to allowing easy access to powerful community-created tools and repositories.

We know change is difficult, especially when creators have established highly personalized workflows that work for them. However, we want to make VRChat creation as accessible as possible, while also making it effortless to keep things up to date and avoid common issues that people really just shouldn’t have to worry about. As such, we’ve designed the VCC and VPM to be able to adapt to a wide range of workflows while still maintaining all of its power to automatically deal with the boring stuff, so you can get back to creating whatever you’d like.

¹or, more accurately, through the VRChat Package Manager. You don’t have to run the UX if you don’t want to.

VRChat 2022.4.1 Open Beta

We’ve just released a new Open Beta with a lot of cool new features! Check out our Discord to learn how to use it. After joining, scroll down to the #open-beta-info channel and read it from the top. You’ll get instructions on how to install the Beta for your platform of choice.

As an important note, this beta is not Live Compatible. You cannot join friends while using this beta.

Quest Hand Tracking

You can now use the hand and finger tracking system built into the Meta Quest 2 and Meta Quest Pro headsets to track your hands, move your fingers, move around worlds, and use the VRChat menu!

This is a VRChat Labs experimental feature! It is an experimental, under construction, in-progress implementation – even more than usual! That being said, it works pretty dang well and is a ton of fun!

Notably, this hand tracking system only works on VRChat on Quest 2 or Quest Pro stand-alone, and does not work via Quest Link, Quest Airlink, Virtual Desktop, or other PC-connected solutions for now. This is due to platform and technical restrictions. We’re looking into ways to get this same capability on PC VRChat.

Check out this quick video to see how to use it.

Networking Updates

We’ve made a bunch of improvements to VRChat networking, almost entirely around Udon and world creation! Fair warning: technical stuff follows.

Network IDs are now baked into the scene, and can be managed by creators. These Network IDs allow creators to move objects around their scene and across versions without breaking network compatibility. We’ve included a new Network ID Utility into the SDK that helps you migrate these IDs between projects, in case you’re maintaining two projects for the same world.

By the way, you don’t need to maintain separate projects for Quest and PC any more! You can just use the same project, and swap before building your second version. Of course, Quest and PC scenes can vary greatly for optimization and other reasons. As such, we strongly recommend using EasyQuestSwitch to make this management even easier. We’re also working on updating our documentation for this newer, easier process.

Anyhow, that’s not all! Object Owners no longer blast serialization data over the network when someone joins, which reduces the load on clients. There’s also lots of little edge-cases improved for Object Sync.

Finally, we’ve greatly improved outbound event scheduling, which should improve IK and Voice transmission even under heavy load.

These changes have undergone heavy closed beta and QA testing. In most cases, there’s very little you need to do as a creator for this! Make sure you update your SDK so you can gain the full benefits of these new changes and the new tools available to you.

VRCGraphics Functions

We’ve exposed a whole new set of Graphics functions to Udon, including (but not limited to) Graphics.Blit!

These functions will allow shader wizards to do all kinds of fancy stuff, well beyond what I can think up here. It’ll also allow existing features like AudioLink to use much more optimized methods without anyone having to change their avatar shaders!

If you want to dig in, check out the documentation for VRCGraphics for a full overview.

Show / Hide Avatar Player Moderation Local Storage

Starting with this build, “Show Avatar” and “Hide Avatar” Player Moderations will be stored locally in a file.

Player Moderations are actions one player has taken on another. In this case, we are specifically only talking about Show Avatar and Hide Avatar actions. This does not apply to “Hide Avatar Globally”, “Block”, “Mute”, or other player moderations. For simplicity’s sake, we can call these “Show / Hide Avatar Settings.”

  • When you click “Show Avatar” or “Hide Avatar” on a user, that setting will be stored locally instead of on the server
    • When logging in, you’ll save your server-side settings locally
    • A week after this release goes live, this transfer will be turned off and the settings on the server will be deleted
  • If you use another device, that “Show” or “Hide” avatar action will not be transferred to that new device
  • If you completely clear your VRChat data, you will lose those settings
  • On Meta Quest, if you uninstall and reinstall VRChat, you will lose all Show and Hide Avatar settings

On PC, these are stored in %UserProfile%\AppData\LocalLow\VRChat\VRChat\LocalPlayerModerations. You can see the file format on the new “Local VRChat Storage” documentation page.

Full Patchnotes

There’s a whole ton of stuff in this release. I almost called it the “kitchen sink” update… As such, it’s probably best if you just check out the release notes instead of having me paste them here. Grab a drink, it’s a long read!

(Also, there’s more on the way. Somehow. :face_with_spiral_eyes:)

Ongoing Development

Improved VRChat Support Features

Our Support team has been working on some improvements to both the VRChat application, as well as improving the look of our knowledgebase!

Output Log Improvements

We’ve been spending time improving our output logs! This means cutting down extranous logging, but also adding in more useful logging. For example, we’ve recently added in more logging that shows what the user’s settings are when VRChat boots up, and also when they’re changed. This will help our Support staff troubleshoot common issues!

We’ve also added a “Flag Issue” button! When you press this button, your output log is marked. This is useful for support cases when we need users to go reproduce an issue, and then mark where that issue occured. Way easier than digging through timestamps! You can find this button in the Quick Menu “Gear” tab, next to FPS and version.

Improved Knowledgebase Appearance

The VRChat Knowledgebase and Helpdesk got a big visual upgrade! We’ve also been working hard on the content to bring it up to date with useful information. A lot of our stuff is a little outdated, so we’ve been catching things up as quickly as we can.

VRChat API will no longer provide username

We’ve recently informed one of the most popular third-party VRChat API-using tools that the VRChat API will stop providing the username field to API users soon. We expect this change to happen within the next 1-2 weeks.

If you are the author of a tool that uses the VRChat API, please ensure you are not using the username field for anything vital, and that you handle that property being missing.

For keying, you should utilize id as the primary user key, as it is guaranteed to be unique and always point at the same user, no matter what they’re named.

UI Improvements

We’ve made some further UI improvements! Some of these features are available in the Open Beta right now.

You can now move your Main Menu in the Z axis! This uses the same immersion mode as Personal Mirror so you can grab the menu and move it farther or closer to you with your joystick within a min/max distance.

We also did some optimization on menu open/closed focused on reducing hitching. It’s a pretty big deal, especially on Quest!

We added some Mute toggles on the volume sliders for quick “omfg that avatar is so loud” moments:

We also fixed some issues displaying Japanese characters in headers, and fixed a bug where the main menu audio sliders changed background color on muting.

Unmuted VRCat

It turns out that VRCat had their Mute on ever since the Quick Menu update last year. They’ve been informed they’ve been muted, and they went and fixed their mic.

VRCat’s random sayings are back! VRCat will say random stuff to you if you click on them 5 times. They’ll choose from a pool of 53 unique phrases to meow out.

Conclusion

That’s it for this week! Enjoy the Spookality weekend, its one of the most fun times to be on VRChat during the year! I hope you got your avatar costume ready! (OH GOD I KNEW I FORGOT TO DO SOMETHING)

What’s that? What about… what? New Years Eve? VRChat Times Square map? Community posters and content?? Nah, we never do anything for that. Spookality’s definitely the big one.

If that deadpan joke didn’t roll out right, tl;dr is that we’ve been working on NYE. We’ll update you soon. big things comin

19 Likes

If that’s it for the week what is this suspiciously looking internal beta about :thinking:

3 Likes

yes, YES, YES! that was the singular thing that i felt was missing from the new quick menu. even if it took a hot minute, i’m glad vrcat’s talking again.

1 Like


so we are being made to use their software to upload avatars/world soon
guess that means i cant since it wont find my unity or even my vrc plus none of the buttons worked (been an issue for me since VCC was released in beta)
just leave the sdks as stand alone downloads
sincerely many users who just wanna use unity and do things theirselves

2 Likes

got held up in QA, no beta today

I’m surprised so few people noticed VRCat stopped talking

No, this is incorrect! The VCC is only used to manage projects, install and update SDKs, etc. You still upload using Unity.

Think of VCC like a Unity Hub but for VRChat projects.

If this doesn’t help you out, please go here to report issues and get help with the VCC!!

3 Likes

Sad, welp at least I don’t need to wait for anything to happen. ^^

@tupper Could you elaborate on the technical restrictions? I’d be very interested to learn about that. Personally, I use the Steam version of VRChat via Quest Air Link. Which companies need to do work to get the flow of hand-tracking data running smoothly along there? Is it just Meta or does Valve need to make improvements also?

Even though I mostly play on PC VR, I’m still really excited about this hand-tracking upgrade. I spent the whole evening testing it out and thinking about improvements. I’ve made some posts on the feedback board (all including video demonstrations):

2 Likes

Would that also help the issue where, in Quest standalone, when you’re in a particularly full lobby the voices get all crackly? Or is that caused by completely different issues?

you’ll only be able to get SDK updates through the VCC¹, and UnityPackage downloads for all SDKs will no longer be available.

Right, so us Linux users are screwed then? Everything currently works fine in Unity, I get that you want to simplify things for most users but come on, it can’t be THAT much work to produce unitypackages.

3 Likes

No, Linux is good, VCC worked fine and I’ve been running it since prerelease, unless you’re using Hannah-Montana Linux

2 Likes

glad to see improvements in this space :3

i’ll have to test some time soon, should we expect to see improvement on sync speed for parameters such as those used for eye or face tracking?

What exactly does this mean?

I don’t have the technical knowledge to do so, no.

No, that’s just the Quest CPU struggling. D:

No. VPM works on Linux. Please see this series of posts in the last thread.

No current plans.

It means the UnityPackage versions of the SDK will no longer be available for download, and you will be required to install the SDK via either the VCC, or the VPM.

Hello there, awesome update especially the new hand & fingers tracking in Open Beta on Quest standalone! As a Deaf person, I had encountered issues using it as I use the sign language. Please take a look here below. Thank you!

Finger Trackings Necessary Improvements

Oh ok, thanks. Was worried it meant limitations in what we can do now with UnityPackages.

1 Like

So you should advertise VCC more (didn’t know about it until yesterday) but allow people to continue downloading the Unity packages manually for a longer period than 2 months from now.

I do not feel comfortable using VCC anytime soon. I do not want to learn a new workflow when I’ve already established one and am learning other things.

And above all, I do not trust a third-party program to manage my Unity projects. I should be able to manage them separately. I have projects that are more than just VRChat.

Let the advanced users that do know how to manage their packages do that, and advertise VCC to less experienced users.

2 Likes

interesting huh. :thinking:

also pretty awesome Quest tracking hands that’s a good smart to do. ^-^

Had the same issue yesterday. These steps fixed it for me:

  • Close VCC
  • Go into C:\Users\<youruser>\AppData\LocalLow and make sure there isn’t a VRChatCreatorCompanion folder in there, if there is one - feel free to remove it
  • Go into C:\Users\<youruser>\AppData\Local, delete the VRChatCreatorCompanion folder
  • Open VCC

Meta doesn’t provide hand tracking data over Link/Air Link. They’ve pretty much abandoned PCVR development.