Developer Update - 30 March 2023

i think the current performance system is fine, count the things, no need to try and profile performance for now.

sure there is issues with the current system, but the numbers can be tweaked later.

VRChat mobile should be compatible with Google Cardboard and a wireless controller

Are there mounts for Google cardboard that help out being useful for more than a 5 minute tech demo?

On a quest 2 you can have asynchronous time Warp to smooth head moment. Getting people to try Google cardboard in 2023 seems like a good way to scare people away from VR by being very poor experience.

I appreciate you balancing things out with the downsides, but really, I would prefer if we could do something. Something is better than nothing in a lot of cases.

Even if it’s not this specific performance benchmark thing, we need more controls on the client-side to manage our experience. What happens if someone has 70,001 polys but their texture memory is <40 MB and everything else about their avatar is good? This is a scenario I run into a lot with other metrics, like lights and materials.

People can already spoof all their avatar performance stats from my understanding, so… I really think we should just try to implement better features since 99% of users do not spoof their stats.

1 Like

Nice, that means i can use newer assets packs. There are lately more assets made for 2021+ so using 2019 will less ideal today. Hope this update wont wait too long.

Only 1 thing i am afraid with phone android app: more childrens might use it. So it’s not bad idea to add age / adult check, to avoid another negative news about adult worlds like dancing and club worlds. Childrens should not enter such worlds made for adults.
Also we don’t want see toxic childrens and teenagers make fun of others. It’s not game, it’s social platform with real people.

Maybe good idea to add adult lock to such worlds. If age check doesn’t match, you cant enter the world.

2 Likes

Actually there’re Carboard mounts that are not made with cardboard (derp) and are very comfortable
It would be something similar to what happens on PC, you can use Cardboard but it’s not necessary

Not sure the answer but it would make sense that they’re categorized by build, so Mobile would be same as Quest since they’re both Android, but if they end up making an iOS version that would be separate is my guess.

Is there any plan to implement SPS-I in future releases? Or is this something currently out of the picture due to potential content loss?

Also looking to hear more about constraint performance metrics in the future. I currently average 2-8 on my avatars, however some actually would increase performance due to things such as using parent constraints to move single objects to different areas on an avatar, as opposed to duplicates.

Not to bring up a dead topic here but, VRChat actually does run decently on Linux, it’s mostly SteamVR where the issues lie. At the moment development for games using the SteamVR runtime is going to be much more smooth on Windows, as development on SteamVR for Linux is slow at the moment. You might as well use a VM if you have the spare horsepower, but I just dual-boot.

I suspect if we ever see an implementation for SteamOS we may see some sort of pickup on that front, but I am highly doubtful.

Unless you are talking about desktop mode / steam deck, in which case, the above issues, in my opinion, make sense for development on this front to be slow.

It’s funny to think that Android and iOS will get VR Chat versions before PSVR or PSVR 2.

I’m sorry to tell you that it’s already on Android as that’s what the Quest is using as it’s OS

I do agree that we need a more gradual system, but VRChat makes it clear that the rankings are guidelines, so anything that takes more active effort than the current system would very likely not be a good solution.

Splitting skinned mesh poly count and mesh poly count would be nice and make it a far more useful stat.

Best imo would be if they could implement a system that could handle toggles cough Canny. Because increasing the poly count just to handle toggles wouldn’t be a good solution.

I disagree. I mean, automated/server side solutions are probably hard and not worth the effort.

However, the one solution that would be better would be granular thresholds for safety settings/avatar blocking on the client side. As a user, being able to tailor my experience is paramount, especially when I very frequently attend events where, even if I am using the avatar hider, my game will lock up due to the active VRAM being overloaded beyond my 8 GB available.

Often it is not realistic to just block “very poor” avatars since most are very poor, but many may have acceptable texture memory and other statistics. It’s also why the ability to check active avatar stats would be useful, even if it is a manual process that people can trigger (since they say it costs a bit of performance to do that).

Though this is obviously dependent on them at least fixing the bug with active vs total texture memory, as shown here by Adeon on this canny:

I agree that VRAM should have a limiter like download size, I expected that too come before the actual metric.

But I think it would be a mistake to make more of the ranking stats completely user settable, since even though the current rankings are guidelines, they are at least standardized and events, like clubs, can use them to make it less necessary to hide avatars.

So a user configurable “Too Poor” rank might be a good idea, to cap off Very Poor avatars.


And on the topic of VRAM, if they can make the measurement accurate, I would very much want them to hard cap it, no avatar should ever need to be something high like 500MB+, but I think 250-300MB avatars are already unreasonably large, at 500MB you’ve done something wrong or are being malicious.

1 Like

I don’t see how that is a reason for users to not be able to set each statistics as they please. They are just fields and can be compared against a list of the same fields. It is a really easy feature to implement if they are going to go through the effort of having texture memory be settable, and allows users to more granularly control their experience based on their hardware and desired user experience.

I should be able to choose no limit on lights (since I’ve rarely ran into anyone that actually lagged me with lights), polys, and materials, while having a hard cap of 150 or 200 MB of texture memory.

Also, not gonna lie, I really think VRChat should have a hard cap of 250 MB. I have a 4K BC7 Body texture, a few 2K DXT1 textures, and a bunch of others, and my texture memory is only 45 MB (about 60 MB total with meshes). Often times, people with such high texture memory either have way too many 4K textures that are not necessary or have so many different textures and models that they should just make a separate avatar. Though really, the quickest solution to this would be for them to just enable mipmap texture streaming.

This exciting. I heard rumors about this being a URP upgrade, so Ill report back its not, just upgrade to either 2021 or 22. Just a suggestion on UI. Add a clock and built in events section. I find it odd there is no clock. A basic function, and no way to see current events etc. I find out about events after Ive missed them. URP would be nice, but i understand how this would break every world. Is there a way to upgrade all worlds to URP on your end through Unity in the future. URP has so many better water assets and shaders i love, but if thats not possible, i understand.

A URP upgrade for this game would require completely wiping every asset ever built for it, so I don’t think that is ever going to be in the picture. URP is a completely different render pipeline, along with any SRP.

If SRP was in the state it is now, when VRChat released, it would be a different story I am sure.

This is a completely uneducated guess, but is it possible for them to release one version of the game with the current render pipeline, and then another version of the game with URP, both being network compatible? I.E: If someone were to make a standard and URP version of their world and avatar (kinda like we do with Quest), would two people be able to see eachother across pipelines?

Obviously the effort to do all this probably would not be worth it if URP didn’t have some significant advantage, but I was just curious.

Different versions of content risk being out of date. I’ve actually seen this on both worlds and avatars. For avatars falling back on shaders might be sufficient work around. Maybe adjust the SDK to have different materials for the two pipelines.

I wonder where most of the launch time in getting on VRChat is, if it’s mostly network, then maybe VRChat could switch versions based on the pipeline a world is built for. I think if world chooses rendering system then it’s fine if avatars have separate versions.

Or maybe we’ll have ai powered shader recompile since ai is so hot right now. I figure each and every locked shader is sightly different.

1 Like

Simple cases involving opaque shaders with properly set up fallbacks should be able to fall back to a URP compatible shader. The results may not be identical, but in most cases it should work well enough.

More complex shaders, such as those used for custom special effects, will generaly break in various ways.

This is a case where the Quest has it easy: VRChat exercises tight control over permitted shaders, and it should just be able to swap those out with URP-compatable ones pretty painlessly.

1 Like

I still use phone VR instead of a VR Headset for financial reasons, so if it would be possible to make a mode where you can duplicate the screen to make VR possible for full freedom in looking around using the phone’s Gyroscope, and maybe have an Xbox Controller to move around, that would be great!