In VRChat 2018.4.4, we implemented the Avatar Performance Stats and Ranking system. This system was designed to be informative and let users see the rough performance cost of the various components on their avatars. As a whole, this system has been successful in letting users know which components are heavyweights on their avatars, and we’ve seen massive Community efforts in optimizing their avatars.
In VRChat 2019.2.4, we will be making some vital changes, fixing some bugs, and changing some base behaviors of the Avatar Performance Stats system that all users should know about. We’ll cover the changes first, and then talk about why we’ve implemented them.
Performance Ranking — VRChat on Oculus Quest
Until now, the Performance Ranking system on VRChat for the Oculus Quest has been identical to the PC rankings. Although the Oculus Quest is quite a powerful mobile VR headset, it is not as powerful as a PC. We did not have adjusted numbers available for Quest on launch, but we will be implementing these rankings for Quest in VRChat 2019.2.4. See these values below!
If you compare this against our current Avatar Performance Ranking numbers, you’ll notice we’ve omitted rows for components that are disabled on avatars on VRChat for Quest, like Dynamic Bones or Lights. These values will still appear on your Avatar Performance Ranking readout, but they will always be zero.
Minimum Displayed Performance Rank
With VRChat 2019.2.4, we will also be implementing the Minimum Displayed Performance Rank option. You can choose to block avatars based on their Avatar Performance Rank. This option is available in the “Performance Options” menu, accessible as a button in the top-right of the Safety tab in the main menu.
When you choose a Performance Rank in this menu, all avatars that are below that rank will be blocked by default and replaced with a placeholder avatar. You can choose between “Medium”, “Poor”, or “Very Poor”.
On VRChat for PC, the Minimum Displayed Performance Rank is set to “Very Poor” by default. This means that no avatars are hidden by default on PC. You can choose between “Medium”, “Poor”, or “Very Poor” options.
On VRChat for the Oculus Quest, the Minimum Displayed Performance Rank is set to “Medium” by default. You can choose to change this to “Poor” to permit showing avatars of that rank, but you may encounter performance issues. In addition, you cannot select the “Very Poor” level on VRChat for Quest. In other words, avatars that are ranked as “Very Poor” will never display on VRChat for the Oculus Quest. Any avatar that exceeds the limits given above for “Poor” will be ranked as “Very Poor”.
Regarding polygons in particular, users on VRChat for the Oculus Quest will not see avatars exceeding 10,000 triangles (polygons). Any avatar on VRChat for Quest exceeding 10,000 polygons will never be displayed.
In addition, avatars that are ranked “Very Poor” will not be permitted for upload when uploading avatars for the Android platform using the VRChat SDK.
Further Avatar Performance Ranking Tweaks
There are a few other major changes that aren’t large enough to get their own section.
First, all GameObjects and Components are now counted in the Avatar Performance Rank calculation, including disabled GameObjects or Components. For example, if you have many disabled components for use in an animation, you may find that your Avatar Performance Rank will drop.
If any mesh on your avatar has “Mesh Read/Write Disabled” checked in the asset’s Import options, the Avatar Performance Ranking info panel will display “Mesh Read/Write Disabled” in the Polygons field, and the avatar will be automatically marked as “Very Poor”. This also occurs for Mesh Particle Polygon Count.
Avatar bounds size will no longer reduce your Avatar Performance Rank below Medium.
Finally, we’ve changed the way that several components and values were counted so that they report accurate values in both the SDK and in VRChat.
Why the changes?
The first implementation of the Avatar Performance Stats system was fairly basic, and included a few issues. We’ve wanted to improve this system for quite some time, so the changes necessary for Quest provided an opportunity to refine this system further for all of our platforms.
As we noted in our documentation, patch notes, and previous blog posts, avatars in VRChat on Quest were always intended to have limits enabled. This system was not ready for deployment when VRChat for Quest was launched, so it was delayed.
The changes on VRChat for Quest are necessary to ensure the best experience possible with the hardware provided. The values we chose for these limits were affected both by Oculus’ recommendations for their hardware as well as our internal benchmarking of VRChat on Quest.
For PC, we’ve wanted to implement an optional way to block avatars based on Performance Stats Rank since the initial implementation. We’ve also had several user requests for such an option. Leaving the system up to user choice was a primary goal, and we did not want to affect the experience of users unless they chose to enable it themselves.
We don’t have a date for VRChat 2019.2.4 yet, but it is the next release on our roadmap. Since this change affects avatar creators quite heavily, we wanted to let you know as early as possible.
We’ve got some other stuff on the way, too! Keep an eye on our #open-beta-info channel on our Discord and sign up for Open Beta notifications, and we’ll let you know when we’ve got a new build ready for testing.