Welcome to the Developer Update for 29 June 2023!
This Dev Update’s thumbnail features “Dusk”, yet another gorgeous map from prolific world creator Lucifer MStar! It’s that time of year – grab some tea, sit on the porch, and listen to the crickets and frogs as the sun drops below the horizon.
If you’d like to catch up, you can read our previous Developer Update from June 15.
Important Info / Announcements
VRChat 2023.2.3p2 - CUSTOM EMOJI!
That’s right, VRChat Plus subscribers can now upload and use custom emoji! Upload images, set cutouts, and customize animations with tons of pre-existing emoji animations and a few new ones!
VRChat 2023.2.4 Open Beta and Delay
We’ve got an Open Beta out right now! You can check out the release notes here.
Among other things, this update includes Avatar Scaling! That’s right, you can finally scale your avatar using native systems instead of installing a prefab in every avatar you own. Try it out now!
This Open Beta is delayed! It won’t get launched to Live until mid-July at earliest, so it’ll be running for a bit.
ClientSim 1.2.6
- Added Camera Stacking (prevents world UI from blocking the clientsim menu and better simulates how our client’s camera works)
- We made it easier to run a scene without a Scene Descriptor.
VCC 2.1.2
The VRChat Creator Companion got an update, too! It’s now on version 2.1.2.
Among other fixes, we’ve:
- Added a search bar to the Learn page for quick access to the Creator Docs
- Updated valid Unity versions and made Unity version errors much clearer
- Fixed timeout issues with the VCC’s websocket connection to the Unity editor
Boot up VCC now and click “Update” in the bottom left to update your VCC install. Only takes a few seconds!
Ongoing Development
Standard Lite Improvements
Standard Lite is getting a facelift!
All following images are in-development and not final!
After a lot of benchmarking and a deep dive on what Standard Lite is focused on, we were able to restore most of the missing features when compared to Standard!
Firstly (and probably most importantly) reflection probes are in!
You may have previously noticed that shiny objects only really caught the light at extreme angles, and metallic objects would become solid black the majority of the time. These passes are designed to sample from a baked refection of their local environment. When initially targetting weaker hardware on earlier releases, these were left out for performance reasons – but some more recent testing shows little to no difference.
Reflection probes are especially exciting because… it’s retroactive! If you’ve uploaded a Standard Lite avatar at any time, reflection probes will default on.
This doesn’t apply to worlds, though. Next time you update, it’ll be on by default. You can simply disable it with a checkbox like you do for specular reflections.
Also: Proper occlusion support!
Previously you could get a pretty okay approximation by multiplying your Diffuse and AO maps, but now you don’t have to! This also means specular reflections are darkened in the appropriate places.
As a note, occlusion only samples the Green (G) channel, which maintains compatibility with Standard. Metallic and Smoothness use Red (R) and Alpha (A) respectively, meaning you can use the same texture for all 3 slots, saving a ton of VRAM. If you know how to pack textures, you should use this! Editor’s note: im feelin like we should implement a texture packing tool, hmm
We’ve also added detail map support!
Standard allows you to spin up a second set of UV maps (at least for diffuse and normal), mask to certain parts of the mesh, and tile them differently to save tremendously on VRAM.
Common usages including having a shirt where you can see individual threads of fabric (by tiling a tiny texture massively) or fur where you can see every hair – all while only adding an itsy bitsy 256x256 map on top.
Default quality settings for Android in Unity toggle this off (on Standard) at present unless you hack your shader, but we’ll be re-enabling this as well. This means your Standard or Bakery/Standard worlds with detail maps will start working right.
Once again, we recommend packing here! The Detail Mask map uses the Alpha channel, which you could easily pack alongside Diffuse/Emit/Detail Diffuse. Again, this also works on PC!
To keep closer with Standard we also added in bump map scale for both normal maps. There’s (much) less than 1% speed difference for most use cases, and less than 3% difference when using detail maps!
Finally, here’s what the new version of Standard Lite is looking like so far:
We’re continuing to work on the VRChat Mobile/Quest shaders across the board, as those are ripe for improvement.
IK Updates and Improvements
In a future update, the way avatar spines move in full-body will be improving. We’re working to address feedback on the sharp bending of the neck in lock-both mode, and the stiff straightness of the spine in lock-head mode. In addition, chest tracker stability should be improved – it should be harder to get the chest to fold in on itself.
Overall, the goal is to expand the area of over which tracker positions give an appealing result. Of course, you can still break it if you really try…
In addition, the newer IK receives much more influence from the initial shape of your spine (during TPose). This should improve the situation for avatars modeled with non-straight spines.
We’ll be moving to Closed Beta testing very soon! Afterwards, we’ll move to an open ik-beta
similar to the one we did in the past. We understand the way your body moves in VRChat is a very personal thing, so we’ll be looking for your feedback once the ik-beta
is available!
Avatar World Filter
Avatar worlds will soon be separated both in Search and World rows!
We are currently doing this by detecting terms in the world name. This may change in the future! But for now, using “avatars” in your world name is the best way to get in this category, which most of you are already doing.
We know we already have the ‘avatar’ world tag, but from what we’ve been seeing (and what our data says), that’s really an underutilized feature! So, we’re trying some other approaches.
Conclusion
That’s it for this time around! Our next Dev Update will be on July 20th. The next two weeks are otherwise occupied, partially with one of our two yearly Jam weeks. That’s where the VRChat team is told “stop working on big projects and go make some cool side projects”.
See you next time!