Welcome to the Developer Update for 31 August 2023!
Today’s thumbnail features DrMorro’s incredible world, Epilogue․ Chapter 2. Nothing like going to the snowy village, staring at the factory-church, and contemplating the void in the dark, cold night.
If you’d like to catch up, you can read our previous Developer Update from 17 August.
Important Info / Announcements
VRChat 2023.3.2 Released!
We’ve just released VRChat 2023.3.2 today, which includes a ton of stuff, including the VRChat+ UI color customization system, FBT and IK updates, Japanese and German localization, and more!
Check out the full patchnotes available in our docs.
Unity 2022 Open Beta
Our Open Beta is currently testing a version of VRChat running on Unity 2022! This is a change from our current version, which is on Unity 2019.
Unity Upgrade?!
Yep! We do this every once a while to keep up with bugfixes, improvements, and that kinda thing with Unity. Also, they eventually deprecate old versions and since we’re a live service kind of deal, we like to keep up with those fixes.
Also, the editor looks nicer.
Normally, this comes with some issues, like broken content, but this time…
No reuploads are required. All content from Live VRChat works in this build.
We’ve done a ton of work to ensure as much content works as possible. Our Closed Beta testers found a bunch of stuff and we’ve fixed most of it. But we’ve almost certainly missed more stuff, which we’ll need your help to find!
Test your content NOW.
If you have content you’ve uploaded to VRChat that you want to make sure works fine after a Unity upgrade, test it NOW.
Submit a bug report if something’s broken.
It is A LOT easier to fix stuff now in Beta than it is to fix after we do a release. So please, please, check your content.
We want to minimize the number of people who say “wtf my stuff is broken!! nobody told me this was happening!!!” on Live release day…
Submit all bugs you find to our Open Beta feedback board. We’ll sort it out.
We are most interested in broken features, broken content, or unexpected differences between 2019 and 2022. We really appreciate well-made bug reports with reproduction steps and examples! Those are the most helpful and have the best chance of getting quick fixes.
We are not releasing a 2022 SDK yet.
Don’t upgrade your projects yet!! Stay on 2019!
Open Beta will remain on Unity 2022 going forward.
This will allow users to use and test Unity 2022 while playing VRChat normally, so you can easily find and then report bugs.
We’ll have builds for all normally supported Beta platforms, and we’ll maintain network compatibility with Live as usual.
Rough Roadmap
Here’s an approximate plan of what you should expect.
- Unity 2022 VRChat is in Open Beta right now.
- Open Beta will stay on Unity 2022 to continue beta testing and iteration.
- At some point during Open Beta, we’ll push a Beta 2022 SDK and provide migration steps. It should be fairly straightforward, especially with the Creator Companion handling it!
- Eventually, once we’re OK with the state of Open Beta, we’ll push to Live.
New SDK UI Now in Beta!
SDK 3.3.0 is now available in an Open Beta - you can get it through the the Creator Companion by enabling Prerelease Packages.
This update includes an overhaul to the “Build” tab of the Control Panel:
- Fully rebuilt the SDK Builder panel with new UI and features
- Uploading Worlds and Avatars no longer requires entering Play Mode
- Updating the thumbnail no longer requires a full content rebuild and reupload
- You can now select any file to be uploaded as a thumbnail
- A standardized public API has been added for tool developers
- Content Manager now marks the currently selected world and allows quickly setting any uploaded world as current
- Countless bug fixes and improvements across Worlds and Avatars SDKs
Important note for Tool Developers
If you’re making tools that integrate with VRChat SDK, pay attention! This is an important release, as it makes quite substantial changes to the SDK internals.
We now provide public APIs for you to integrate with, and we highly recommend migrating your tools to utilize them if you were relying on reflection or similar techniques before.
You can read more about the Public SDK APIs here.
Ongoing Development
Groups Timeline
So, we’ve already got Group Announcements, messages you can send out to your group that inform people that see it. We’ve seen people use these for all kinds of stuff! That’s great!
… but, what if you want to see past posts? What if you only want to announce to certain people?
To answer that question, we’ve been working on the Groups Timeline!
As you can see, the Groups Timeline is a way for you to keep track of the previous posts made to the Groups you’re in!
If you want, you can limit posts in your Group to specific roles:
Use the VRChat Home website to make these posts and select the roles you want to show the posts to.
Of course, you can also view the posts to your group on the web, too!
We can’t wait to see how Groups utilize this new feature. Importantly, this feature will play a big role in our upcoming Creator Economy, and will get further features and additions over time!
By the way, if you like the theme in these videos and screenshots, it’s called “Cooler Than You”! Import it: #5DFF41,#8F108E,#393838,#262626,#A6A6A6,#6C6C6C
Multisampled UI Shader
We’re putting together a Mobile/Supersampled UI
shader for world creators!
This shader takes four samples of the underlying texture per pixel, but since it only runs one pass, it’s fast enough to make no impact on mobile. This allows for super crisp text without forcing you to resort to disabling mipmaps, which has performance implications (and can be grainy and distracting).
First, here’s some UI that’s using mipmaps, using a normal unlit shader.
Well that doesn’t look great. Let’s turn off mip generation, maybe it’ll make the text crisper!
Agggggh too crispy, too crispy! Not to mention totally unreadable, and it affects performance.
Let’s instead use the technique described in this blog post:
Ahh, much better.
Let’s compare all three with an animated image:
As you can see, the Supersampled UI shader is more readable than the normal shader, and doesn’t stab your eyeballs with jaggy pixels like turning off mipmaps does.
Keep an eye out for this shader in an upcoming SDK update!
Behind the Scenes - Android Trailer Production
Hey! @Sai here from the Art team. We usually don’t get to talk about a lot of the stuff we are working on, so we decided it would be a fun idea to give you all a little bit of a behind the scenes look at how we tackle projects, like the animated VRCat section in our Android announce trailer:
Pre-production
This step usually starts outside of the Art team. Another team needs something done by art and writes up the idea, where the assets are going to be used, and any other information that is needed.
In this case, we started out with a loose script that was written up by our Communications team. We take those ideas and start drawing up story boards.
Here’s an example of a planned shot. The pink arrow shows camera movement and we roughly sketch in where we want people to be placed.
We do this for the entire length of the video and then talk through it with the team that requested the asset. Feedback is important! Planning goes a long way, and helps reduce a lot of friction further down the production pipeline. We take our time with this step and iterate on it as much as we need.
Production
Now, with our plan in our hands, we can dive into producing the actual video! We usually start out by doing a rough block-in cut. This is just a bunch of building blocks and music put down in the timeline to give us a rough idea of how we want to time the shots. Once again, we take our time with this step so we get a nice end result.
Once the rough block-in is done we start producing the actual parts that are needed to put the video together. In this case, we had a combination of 3D scenes and in-app shots that needed to be put together together into a coherent project.
This project was a bit special because it was the first time we used Blender as a central part in production. All 3D scenes were done in Blender and finalized in After Effects.
Our spaceship was really just a console this whole time. We played you for fools!
Working with Blender allowed us to make use of community plugins which made the project a lot easier. My personal favorite plugin was this one, which allowed us to export data from Objects straight into After Effects. This made tracking video footage onto the phone screens a million times easier, essentially allowing us to skip the entire manual tracking step!
Rigging arms is hard, so we just used Empty Objects instead.
Talking about the phones, we found this really neat Blender node called AOV Output which allowed us to directly export different materials as masks. This was super useful for masking the phone screens, as it included things like motion blur in the mask directly.
Normal render pass on the left and the AOV render pass on the right.
We seperated different sections of the scene into seperate Render Layers and rendered them as seperate passes using the File Output node. This made compositing the entire scene a lot easier. We wouldn’t need to manually rotoscope and mask things.
Here’s the final End Scene color corrected and with Glow, Vignette and Chromatic Aberration.
Post-production
Now with all our shots fully put together and rendered out, it’s time for the final assembly of the video. As this trailer was part of a bigger project (the Android Dev Update), we had to make sure all the scenes would look nice in the final project. We color corrected the final trailer to match the tone of the rest of the video. In this case, we moved our color space a bit towards warmer tones, as the Dev Update is shot in a room with a wooden, warm background. Slot in some music and normalize the gain all throughout the video aaaaaand we have a final product!
Wrapping up
Obviously there’s a lot of work and steps involved in producing a trailer like this, and we can’t outline the entire process because I’d be here writing this up for two days. We hope you enjoyed the small glance into our production pipeline for art projects! If you have any more specific questions, feel free to ask them below!
Conclusion
That’s it for this Dev Update! Our next update is scheduled for September 14th, 2023. See you then! im gonna go play starfield now cya