Developer Update - 9 April 2026

Oh pog ! Performance instances! Wait. I guess i will start reading the replies

1000024607

7 Likes

I think this should be paired with a small poly increase for medium and poor. (perhaps 10k for medium and 30k for poor) It would be harm reduction. The reason why everybody uses very poor is because it’s just not feasible for the average user to stay under the poly limit and express themself. I have my own good and medium avatars for events, for the record and a few good rated publics I have uploaded for people to use at raves. I think you guys are a bit overly hung up on polygons while the other areas are pretty lax, especially since the move to Unity 2022 and the improvement of blendshape handling. The limit was made while considering a theoretical max of polys based on GPUS from over half a decade ago.

Again, I do not condone excessive polygon avatars, but it would be HARM REDUCTION.

4 Likes

Is there a way to have a config override that an impostor will never be shown to me (either their fallback or a robot would be acceptable)? I find the aesthetic of impostors to heavily break immersion in ways that someone having the wrong avatar wouldn’t, and I intentionally show everyone in part to avoid seeing them.

I hope you can still do this alongside using the new feature. With a vrchat wide feature I know some people who will take a year to understand the popup, every one will get there in the end.

I think the general idea behind this feature makes sense. Large events and club instances can have real performance problems, and many users either do not know about VRChat’s existing safety and avatar visibility settings or do not use them effectively.

My main concern is this part:

That feels too restrictive. Improving performance is fair, but completely removing the user’s ability to locally override it, even for friends or people they manually choose to show, seems like a bad tradeoff just to avoid what is described as a “slightly awkward” social situation.

I also do not really agree with this reasoning:

Most users do not make their own avatars, so they usually cannot optimise them themselves. And for the people who do make or modify their avatars, that pressure would still exist even if local overrides were allowed, because they would still be hidden by default in these instances, so if someone wants other people to see their avatar without requiring manual exceptions, they would still have a strong incentive to optimise it.


Instead of the instance directly locking avatar visibility to a performance rank, I think this should use the existing Avatar Optimizations options VRChat already has.
Since users can already block avatars by performance rank through Block Poorly Optimized Avatars, Avatar Performance Gated Group Instances could simply set that existing option to the desired level and then give users a way to revert to their usual setting.

If that happens, the user should get a clear message saying that their setting was changed for this instance and that they can revert it if they want, ideally with a button in the message itself if possible.

This would still improve performance by default while preserving local choice.

It would also fit well with adding some much needed options like Always Show Friend Avatars and Allow Override with “Show Avatar” to the existing Avatar Optimizations settings, similar to what Avatar Culling has.

I made a visualisation for what the new Avatar Optimizations could look like:

Edit:
Feedback Request for this: Avatar Performance Restriction Overrides | Voters | VRChat

4 Likes

the minute most people discover that they are still going to be ranked as Very Poor despite removing everything but one outfit set that they love?Completely kills any interest they had. Why bother?

yeah, thats kinda the point i was really trying to get at. Most of the other things are comparatively easy to hit, but the hard cutoff of polycount leads to a lot of people not even attempting optimization. Optimization is a hard sell when players realize most of it (from a certain perspective) is pointless unless they’re willing to spend hours or days in blender shaving off polys and redoing weight painting. Nothing else takes nearly as long or takes as much skill to optimize.

I really think the new group restriction is a good idea! If anything the discussion of the optimization limits is kind of its own separate discussion

3 Likes

I’m glad it doesn’t. As someone who goes to events with sometimes large and long queues, if I wait in hour in queue just to find out I can’t join because of my avatar, and then it expires while I’m looking for my optimized one, I will not be happy. I’d much rather get the warning, join, and switch once I’m in instance.

3 Likes

Good riddance very poors, lol.

Been waiting for this feature to show up for years, good to see it finally get implemented.

To those complaining about this, yknow how rude it is to not only use a heavy performance tanking avatar, but to also join a massive instance and expect everyone to see it?

Why does your avatar allow the privilage of taking up the equivalent of five or even ten better performing avatars? My hardware can handle it, but I know others might not, so I optimize my avatars. Gotta respect those that get by with what they’ve got, especially with hardware costs today.

Besides, nothing stopping you from making an avatar for those big instances where you don’t have all the bells and whistles included on your avatar and (probably) get below very poor easily, you’ll survive without them.

Or, better yet, ask people to give advice on what can be done to improve performance on your avatar! Being okay with having your daily use avatar be in very poor should not be the norm.

I’m really hoping this will be the push needed for people to actually care about others and improve the experience for everybody.

7 Likes

The idea is valid, the problem is it’s avoiding the core problem. It would lead to people asking to enable a setting to have their avatar shown. This whole feature would be for nothing if that were included as an option.

6 Likes

Just like for example my avatar in general is pretty hard to optimize in my case since i am not really skilled in doing so.

From a perspective of being a noob at avatar work, the 70k limit applying to multiple performance ranks worked out well for me, I started with an avatar that has been decimated down to below 70k by the author, lots of materials, so it started as very poor, and I was able to slowly make different versions that were more and more optimized.

This is where i sit on it to be honest. Intent wise its great but its a little tooooo controlling. I get why they are concerned about things being “awkward” but if someone is being a pest like that we already have user management tools to deal with that so its confusing as to why its being handled this way.

Give us an additional option where the group can allow or disallow local showing for extra granular control and im so down for it (default it should be possible) but i also dont remember the last time someone actually asked if i can show an avatar because of how used to adjusting my local settings to match my enviroment i have become. SPEAKING OF we really need a saftey/performace setting tutorial for new players and generally making the new player experiance of this game not sisphien in nature!

I feel" most “heavy “ event participants dont really notice the performace problems at least in the ciricles i run in and mostly use somewhat performant avatars (very poor vs very very poor yk?)

8 Likes

The core issue is not people asking others to show their avatar.
The core issue is performance in larger instances.

The original post itself describes that part as only a “slightly awkward dynamic”:

I do not think users’ local freedom to choose what they want to see should be removed because of something the post itself frames as only a “slightly awkward” social situation.

5 Likes

Please add a basic version of the avatar performance restriction option to for private instances (ie: friends, invite)! Being able to create an instances with a “high performance vibe”, for example, would be really good, without needing the instance to be associated or otherwise moderated by a group. Not something that should be available for non-group publics, but for privates it would be really useful for multiple scenarios.

3 Likes

That said, you are not allowed to override the instance level restrictions to make other’s appear, even if you force-show their avatar or are friends. This is to prevent the slightly awkward dynamic of players asking others to show their avatar, thus defeating the point of the feature.

This is so absurd. if I want to see someone’s avatar, I should still be able to turn them on. Blocking this on a subjective feeling of awkwardness is not something that should be passed.

Unless letting me render someone on my client affects other people, let me show whoever I so please.

9 Likes

Yeah i agree there are a lot of avatars i want to see, ill just sadly have to make sure i dont go to events and that restrict performance. at the end of the day that will ruin my experience not the fps

5 Likes

This Performance Gating thing is extremely baffling. Local user safety settings are more than capable of accomplishing everything this setting does. Additionally, community patreon members will absolutely be given roles that they pay for that allow them to bypass this performance gating.

Perhaps y’all should refine the local safety settings and make it easier for users to know how to utilize the existing features before content gating to this extreme.

6 Likes

I appreciate the new performance gating feature it’s an amazing step toward smoother experiences in vrc! That said, I’m curious if there could be an option to layer in additional limits beyond VRChat’s standard performance ratings (like poor, good, etc.).

In my community, VRAM usage is a top priority. A configurable VRAM cap per group instance; something like 150 MB or 120 MB would be fantastic. This way, even avatars rated as “very poor” could still join, but with their VRAM impact capped to manage performance. Sure, some groups already enforce this manually with admins, but having it built in as a world level setting would be a game changer for large event hosting.

1 Like

Honestly the avatar performance gating should let us select based on like uncompressed size or vram usage rather than just a flat performance rank limit.

The current avatar performance metrics are desperately in need of an update. An avatar should not be immediately very poor because its 70,001 polygons on an otherwise Good rated avatar.

Being able to limit it based on something like VRAM would have way way more of an impact on letting users have the avatars they want without it being extremely limiting.

2 Likes

We’ve heard this a lot, and we heard it a lot when we first implemented avatar limits on Quest standalone. The short version of why it doesn’t work: it doesn’t occur in a vacuum. Whether you can bypass limits actually affects what avatars people upload in the first place.

On Quest, we initially had strict avatar limits. Then we added “Show Avatar” to let you bypass them. The result? Avatar performance on Quest is the thing that murders the platform’s performance right now. There’s no pressure to optimize when everyone can just click past the limits. All the guidance we tried to provide gets ignored.

Same premise applies here. If a group or event says “no Poor or worse avatars,” and you can just click “Show Avatar” to get past that – you’ve bypassed what the group owner is trying to enforce, and the whole feature stops doing its job. The motivation to optimize disappears, just like it did on Quest.

There’s no version of this where everyone’s happy. But we have to pick something that actually applies pressure on avatar performance – which is the thing killing performance more than anything else right now, by a huge margin, across the entire board, including on your giga-PC (and mine) – in a way people can’t just click past.

More broadly: I also want to head off the polygon debate before it starts. performance ranking isn’t just about polygons. Nitpicking any single metric misses the point. The ranking system considers a lot of factors. At the same time, it’s old, not accurate in some situations, we can’t measure animators at all and they’re probably the worst offenders, you can make an Excellent avatar that runs at 2FPS, etc etc etc… trust me, we know. It’s what we’ve got for now. It isn’t like we’ll be leaving it alone forever: avatar performance debates happen often internally.

As much as you guys talk about it in random chats in VRC instances, we talk about it on the team. a Slack bomb appears practically every weekly about avatar performance. The latest one was about the new popular Booth avatar, Mayo. We had to talk down some of the team when the shock landed that she comes out of the box with 190K polygons and nearly 30 meshes/materials. :smiling_face_with_tear:

Either way, your feedback is definitely heard, but we want to see this system truly in action. So, compromising it by letting people bypass it means we’d be ignoring the lessons we’ve learned before. That would be unwise.

We’ve got a Q&A coming up during our next stream – bring your questions there and we can get into the details. don’t expect us to have a full technical rundown on render pipelines or whatever, though, we’re community managers

21 Likes