Welcome to the Developer Update for 9 March 2023! This is the eighth Developer Update of 2023.
Thank you (again!) to DrMorro for their world Olympia Nights, which we’ve used in our Dev Update thumbnail this week! Sorry, no cute joke here, it’s just a gorgeous world.
If you’d like to catch up, you can read our previous Developer Update from March 2.
We’re Hiring!
While we’ve always got our Careers page stocked up with positions we’re looking to fill, we’ve recently added a few new ones!
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! (If you aren’t a member of the community, don’t worry, apply anyways! We’ll show you how deep the rabbit hole goes.)
Creator Companion 2.0 RELEASED!
We’ve finally released VCC 2.0, also known as the “Web Creator Companion”! It uses tech that is much faster and easier to maintain, in addition to working across platforms! This version replaces the previous VCC.
To install it, head over to our Downloads page and grab it.
To upgrade, simply launch VCC and click the big ol’ Update button in the top left.
If you’re curious, @Fax has made an excellent video walking you through all of the features and processes for the VCC.
As previously noted, you can still download new VPM-compatible UnityPackages. These UnityPackages extract into your Packages
folder. These packages are meant to support users who cannot use the VCC due to platform or other limitations. They can only be used on new projects.
WARNING: These UnityPackages CANNOT be used to upgrade non-VCC-migrated projects. Importing one of these new UnityPackages to a non-VCC project will break that project. Please migrate your project using the VCC instead.
SDK2 UnityPackages are no longer available for download. At a future date (undetermined, but on the scale of “months away”), SDK2 worlds and avatars will no longer be permitted for upload. We will support existing SDK2 content within VRChat for as long as possible. This will be the last info update regarding SDK2 until we establish a date for upload blocking.
If you are maintaining a SDK2 world project and want to migrate, CyanLaser maintains CyanTrigger, which provides a SDK2-like interface for Udon. He also has created a SDK2 migrator, which can auto-convert SDK2 to SDK3, including complicated assets like the Standard Assets package that was supported with SDK2.
VRChat 2023.1.2 Update
We’ve just released 2023.1.2 to Live!
The full patch notes can be read in our documentation, but you can also check out our latest Video Patchnotes too!
This update heavily focuses on a bunch of improvements and bugfixes, primarily around providing some quality-of-life changes to make it easier to use VRChat.
Ongoing Development
Upcoming Avatar Jam
It’s that time again: We’re hosting our first Avatar Jam of the year! Submit a public avatar and show off your skill and creativity to the rest of VRChat’s community.
The event will run from March 10 to March 27. When we publish the info on the Jam, it will include qualifications, terms and conditions for entry into the Jam, and all the other necessary information.
Stay tuned for more details and the official announcement!
AsyncGPUReadback
Reading that title probably was enough for a small number of shader authors.
We’re implementing Udon hooks to allow asynchronous GPU readback! This feature has been in development for a little bit, and is now done and awaiting QA and internal feedback.
If you’re still a bit lost, here’s a real-VRChat example: this allows getting data from AudioLink into Udon without a huge performance cost! Right now, it is very expensive to do so. In fact, AudioLink advises against it.
With AsyncGPUReadback, you can get that data off the GPU much cheaper and use the AudioLink data to drive any kind of Udon-based logic, which is much easier than doing it all in shaders. Anything you want to do on the GPU that’s super expensive on the CPU can now be done on the GPU and then sent back to the CPU to affect things there.
You could, for instance, do a very expensive simulation on the GPU. You can then send the state of the simulation back to the CPU after the expensive calculations have been done. This isn’t the best example, but cloth simulations are in this category: The CPU could now know where each vertex of the cloth lives and do the heavy lifting on the GPU, which helps when doing things like collision.
Udon Ownership Bugs
We’ve recently tracked down and fixed a bug related to Udon Ownership transfers! This will be included in our next VRChat release.
This bug was reported to us via Canny. Currently, when the master of an instance leaves, the OnOwnershipTransferred
event fails to fire. Creators can work around this with the OnPlayerLeft
event - but that’s unintuitive and cumbersome. This bug has been fixed, and OnOwnershipTransferred
will now fire for instance masters!
Google Drive removed from URL whitelists
Due to a security issue, we have had to remove GDrive from the URL whitelist. Google Drive is no longer a valid URL to use with any Udon that accesses the internet (video players, remote strings, remote images).
Just to put you at ease, we don’t think anything nefarious happened with these links. However, it was disclosed via our exploit report form that it was possible to “break out” of the approved URL list using GDrive, so we’ve decided to err on the side of caution and remove it.
Of course, you can still use Google Drive if you have “Allow Untrusted URLs” enabled in your Safety options. Please exercise caution using this option, and only use it in worlds that you trust.
Conclusion
That’s all for this week! A bit short, and not much flashy to show off-- we spent a lot of this week on getting 2023.1.2 ready for release, as well as a bunch of internal organization and planning.
We’ve got some very interesting stuff on the way for Groups! I wish I could tell you about it now, but it isn’t quite cooked yet and might change before we release. I don’t want to tell you about stuff we don’t have solidified completely yet.
Thank you for reading, and we’ll catch you again next week.