Developer Update - 9 April 2026

Honestly people keep bringing it up because the current polygon limits are the biggest problem with the performance ranking system right now. People nitpick it because it is arguably one of the least impacts on performance when compared to things like lights, materials, or vram usage.

Avatar ranking isn’t just about polygons, you’re right, but not addressing that an avatar going from Good to Very Poor because its 70,001 polygons is bonkers. Why can’t there be limits for Medium/Poor/VeryPoor for polygons over 70,000, with 70k being good ranking?

Until the issue with polygons gets addressed, as a group runner, something like a VRAM limit option rather than flat total performance would be significant leaps and bounds better than this current system.

4 Likes

Yeah. It’s kinda the elephant in the room. Like I’ve said, its very hard to optimize compared to just about anything else. I’m supportive of the instance restrictions overall but its creating a perverse incentive to not optimize at all because its so binary.

2 Likes

Yeah, but you know what the root cause of that is, right?

This also is an optional feature, mainly for groups that host events. This also isn’t stopping anyone from just continuing using poorly rated avatars, but with this hopefully there’s at least an incentive to at least think about improving the rating on an avatar.

2 Likes

We’ve gotten asked this before. Short version: the reason it’s like this is because we wanted to permit as many polygons as possible. Originally, 70K was going to be the line at which you go from Poor to Very Poor, but we squished everything upwards toward it so that Medium, Poor, and Good all fit under that 70K cap.

If we re-implemented a gradation, Very Poor would be at 70K, Poor would probably be at like 65K, Medium at 60K, something like that. The current setup actually gives you the most headroom – that’s why it’s squished the way it is.

VRAM actually isn’t as much of an issue as it used to be now that we have mipmap streaming. It’s still good to have 16 GB or more available, but you can operate with 12 GB in a totally full instance and mostly be fine.

Uncompressed limits are primarily what protect you here, and we’ve already talked about making those the next potential thing group or event runners can enable if this system works out well. No promises, but it’s being discussed.

5 Likes

Thank you tupper! While still believe 70k being the upper limit before very poor is incredibly egregious, I very much appreciate you at least laying it out in more detail.

That being said if 70k is absolutely going to keep being the limit, myself and many other group runners would absolutely much prefer something like a VRAM or uncompressed limit rather than just a flat performance rank cutoff.

Editing because you addressed my vram question: Thank you again, hearing that gives me hope because of what I said above. It’d make way more sense for me and other group runners to have uncompressed or vram limits for big groups!

2 Likes

I get why that seems egregious, but run the numbers: 70K polygons times 80 players is about 5.5 million polygons. Even high-end GPUs are going to struggle with that when you factor in that there’s hundreds of skinned meshes in the scene, all running separate shaders, multiple lighting passes, with zero GPU batching – oh, and everyone is actually at 150k+, not 70k – and, that’s before the world itself gets a say.

Either way, you’re welcome, and I appreciate the good questions!

5 Likes

Lets consider this though: 70k polys and 8 material slots each, times 80 people in an instance, you’re looking at asking your gpu to render 5.6 million polys with 680 materials, plus the world on top of it. And that is just 8 material slots per person, which from my experience basically nobody sticks to, so it only goes up from here. And the world itself might add a significant amount on top of it all too. (don’t forget the UI)

This is quite the task for a GPU. Add on top the VRAM required for storing all the textures, who knows how many 4k textures. It’s really easy to lose focus on what the hardware needs to do to render all those avatars.

You have to consider what it would be if every single person in an instance also were using an avatar that is pushing those limits, it really adds up.

Edit: Tupper said is better lmao

4 Likes

If we re-implemented a gradation, Very Poor would be at 70K, Poor would probably be at like 65K, Medium at 60K, something like that. The current setup actually gives you the most headroom – that’s why it’s squished the way it is.

Fair enough! Thanks for the explanation.

Time for me to bite the bullet and learn how to retopo proper lol :melting_face: careful decimation ain’t cutting it these days with how high polycounts have ballooned

1 Like

Please, please read the exasperation in my words – I feel your pain, so much.

90% of the reason I swapped to the robot avatar I use now is because it comes default under 70k, and because it’s a robot, it doesn’t need clothes. :face_exhaling: It pains me to no end to see bases on Jinxxy, Booth, etc come out of the box at 2x our limits.

If you want a silver lining, being able to retopo is an incredibly valuable 3D skill that isn’t effectively doable thru automation (yet). So, you’re learning a valuable, transferable skill :sweat_smile:

6 Likes

At the very least knowing how to delete edge loops or polys that aren’t visible (not visible underneath clothes) would be a pretty good way to get into editing the mesh of an avatar. It’s simple, quick to learn and an immediate improvement while also being in full control what gets removed where without needing to just blindly trust some decimation function, ueghh..

Retopo is quite the task to learn early on, so starting with more basic ways of improving poly count is imo preferable. This is all to avoid people from getting into things like blend shapes or weight painting early on, let them get there at their own pace when they need to lol

3 Likes

I’ve used every trick in the book aside from retopologizing at this point, sadly. :sweat_smile: but yeah, deleting edge loops is probably one of the easiest and most effective ways to trim polycount without affecting how an avatar looks or without accidentally messing up its blendshapes.

Are you asking if I know what the root cause of performance issues in larger instances are?
It’s UGC.

Does that in any way have anything to do with people asking others to show their avatar or something? I don’t really know why you asked this question.

And on the optional part.
It’s not optional for the users joining the instance. Since they can’t turn it off or even see specific people’s avatars.
Letting users locally turn that off so they, themselves, still see others doesn’t affect other users’ performance.
I have nothing against the feature as a whole, just that, currently, they don’t plan to let users override it.

3 Likes

I understand your frustration, but if this were an option, what would the incentive be for both users and avatar creators to create/use better performing avatars?

I’ve seen it happen, I’ve seen fallback avatars basically begging to have their avatar shown. This would happen way more often if such a toggle were available. And that’s just really cringe.

It’s not a realistic solution and would bypass all the work that went into this feature. I’m very much for the push of better performing avatars, and with this there’s at least some chance that it could result in overall better optimized avatars, even ones that have a lot of features, outfits, etc.

…Gotta mention though, mainly towards other avatar creators, those who actually create and share/sell avatar bases: keep external additions to avatars in mind, please?

It is a shame to see creators make really good looking avatars, only for them to already be pushing all the limits (or even be past them already) and have no headroom for additional accessories and whatnot. It indirectly punishes the ones who got the base to use and want to make it their own, but instead get pushed into very poor for adding one thing and going over the 70k poly count.

This imo is the bigger problem. I made my own avatar entirely from scratch, I know what to do to stay within the good performance rating, but if someone buys an avatar which out-of-the-box is rated very poor, it doesn’t give them any reason to improve it and that then over time results in avatars with 500k polys, 30 material slots, 20 mesh renders, etc etc, who also start asking for the existing limits to get increased when they already are rather high and forgiving as is. No thanks.

On top of all this though, I hope that those that do wish to improve the performance of their avatar will actually look around on how to do it, ask others for advice or help on how to improve the performance of their avatar. We totally could all be in an 80 player instance, all good/medium rated, have everyone shown and have good performance. I’ve seen it happen more than once, it’s totally possible, but for that to happen those with badly rated avatars need to at least be informed at some point that something needs to be done about their avatar performance, and hopefully this will result in them seeking out on what can be done to improve their avatars.

uh.. tl;dr if you give people an option to bypass this feature they will tell people to use it, then nobody will bother about improving their avatars ever and it was all for nothing.

3 Likes

That was my first thought. I’m hoping it has a ripple effect across vrchat as a whole.

I think OP’s images on impostor generation didn’t do enough justice. Here’s another comparison of impostor generation “1.3” (2025-07-25) vs 1.4.1 (2026-04-10).

No more jaggies.

(Rusk ⁄ Amatousagi 3D model by こまど ⁄ komado - edited by WubTheCaptain․)

1 Like

Awesome addition! Any chance you could make it a little bit more realistic for us to reach Poor or better by raising the polygon limit by a couple thousand? 90k for poor and 70k for medium should be fine nowadays :folded_hands:

1 Like

The incentive is still the same, though to a smaller degree.
Instead of doing it so your friends can see you, do it so everyone else in the instance can see you. Some people want everyone to be able to see them, some don’t care how others see them, but want to see others the way they want.

If a person does this, they just seem like an obnoxious troll. They’ll just do something else instead of asking people to show their avatars. So this doesn’t solve that issue.
This requires the same mod action as trolls doing anything else obnoxious, kick them. I wish we had more options for this though, like instance and group ban.

The feature will still work and do its primary function of giving players who didn’t know about the current performance settings, better performance by forcing it on by default.

Every player already has the possibility of doing what this feature wants to do, locally, with Block Poorly Optimized Avatars. Players just don’t know about it or can’t be bothered.

Letting players override this setting so that they can go back to seeing everyone’s avatars doesn’t change the fact that the players who needed the performance got it.

With this system, you will get that, just also with impostors and fallback avatars.
For me personally, I don’t see a problem with that. And since VRChat in this same post also announced the updated impostor system, I don’t think they do either.


Side note on all the avatar creation stuff. Didn’t know what to quote for it. :grin:
I agree that avatars should be made better.
But that is such a big underlying issue with so many layers to it.
One big one is that most people rely on assets from asset stores, and most assets are sold at a much higher quality than they need to be. This then also leads to most avatars being sold having these assets and being too high quality.

Forcing people who rely on this to just fix their avatar isn’t reasonable, even though it would be nice if everyone did. You can’t mandate that people who just bought an avatar learn everything just so they can optimise their avatar, or that they give up on this avatar, which they might have a close personal connection to or have spent a lot of money on, for another one.

And adding massive restrictions on what can be uploaded will just alienate those users.

2 Likes

90% of the reason I swapped to the robot avatar I use now is because it comes default under 70k, and because it’s a robot, it doesn’t need clothes. :face_exhaling: It pains me to no end to see bases on Jinxxy, Booth, etc come out of the box at 2x our limits.

hi tupper, i think that’s really cool that you made that choice for your avi! i just wanted to comment and say that I hope that you support our choice to choose our avatars with the avi bodies that we like and feel most comfortable in. even if they arent optimized like other bases.

some of your comments left me unsure where you stand on that… i sort of feel like a problem that needs to be solved, lol?

i know they often require clothes and often come in at 2x the limits out of the box, like you mentioned :face_with_spiral_eyes: but I also don’t feel like using a robot base at this point in time.

self-expression, is what i feel like, a large part of vrchat is for a lot of us.

<3

3 Likes

Why are we punishing everyone for the behavior of a small group? Wild idea, I know but maybe address the actual problem instead of dragging the entire community down with it.

If someone’s pestering you to show their avatar, that’s exactly what moderators are for. Report it and move on. A local override for friends or individual players only affects your experience. If someone else takes issue with that, then they’re the one creating the problem not you.

And this idea of “influencing the community to optimise”? Why, when the imposter system already exists? There’s already a built-in way for people to see a version of your avatar without requiring everyone to become optimisation experts.

Not everyone wants to live inside Unity or Blender just to participate. Try looking at this from the perspective of the average player, not someone comfortable with complex dev tools. The whole point of VRChat is to socialise, not to turn everyone into a game developer.

We already have systems like culling and download limits that let users decide what they do and don’t see. This isn’t new. So why should this new system suddenly remove that choice?

I’m all for instance owners setting a default experience for people joining, but it should still be something users can override if they choose to.

4 Likes

Imma just throw my two cents in here for the sake of it-
Let me prephase that I think instance wide perf rank minimums is a good feature and helps large events actually enforce their “minimum ranks” and protects people from joining a large instance and immediately getting smacked with the weight of 80 questionably optimized avatars.

However, the lack of manual override, to me, sounds like exclusively a drawback. Its a two sided thing where it makes it potentionally impossible for a given person to be seen- There are plenty of people who have very little control over their own avatar’s technical stats. And it makes it awkward for the observer- where they have to actively ASK for someone to swap avatars to not see an imposter.
One can argue “oh, just swap avatars” but many people are attached to their creations, their ‘silly anime girl’ or ‘rainbow sparkle fox’ and often don’t have the knowledge to ‘fix’ these or the money to commission other people to do so for them. If someone just spent 2k on their fancy sparkle dog, but it happens to be 70001 tris- they are immediately exclude from visibility unless they have the technical knowhow to fix this.

As someone who has full control over my own avatars- And already keeps ‘up to date’ medium variants of the things I wear for large events I still see this as a drawback, because it takes control away from me, the observer- as to who I can see in a filtered instance.

To me, the point of a feature like this should be to PROTECT people from potentially heavy instances not PUNISH people for having unoptimized avatars. It should alleviate the case of, idk, someone joining a club and getting nuked- because they forgot to tickle their personal safety settings before joining.
Having a min rank provides enough social pressure for people to swap into lighter avatars but still allows people to “do their thing” and the observer to “make a choice”.
In the short term the min ranks fixes bloated instances and people who don’t listen to the owners of the events suggestions of being “optimized-
In the long term it provides enough pressure for people to make more optimized avatars or variants for given environments.
But taking away control from the observer is detrimental to both the offender and the one observing, with no real benefit. People asking “show my avatar” is imo not a real issue, because I have the choice to “just not”- On the flipside having to ask people to swap avatars or having to accept that I just won’t be able to see someone in a given space is weird.

Also.
Obviously a feature like this gets an option to bypass the filtering with a given role permission….And Imma be real- I fear people abusing the hell out of this.
The optimistic idea is that you could have events where performers are allowed to be “fat”…maybe?- A friend argued that “bypass could be given to people who are ‘modestly very poor’ which seems incredibly unlikely.

Realistically I feel like this will turn into a 50/50 of either people begging for ‘avi prio’ the same way people beg for queue prio
OR
A given event having a certain clique of ‘fat cool kids’ who are completely unaffected by the perf filtering- yet impose it upon others.
I KNOW that a bypass for a feature perm makes sense- and I dont know any good solution- but I fear where that’ll go, socially.

TL;Dr
Instance based min rank good. In the long term, people will optimize for events more. However, punishing offender and taking control away from the observer bad. And Avi prio is scary.

Anyways, cheers <3

5 Likes