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. )
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