Expose Avatar Stats In Udon
Aikatsuyuri
I understand the issues behind security concerns involving exposing avatar stats but at the current state, people aren't heeding or taking avatar optimization warnings as serious. I've seen people with like, 200+ materials and over 600K polycounts. As a world creator as well trying to make some cool stuff for a specific community, it's really really hard to keep the world going if there's tons of performance issues caused by said player. Yes, others can police these users but it can only do so much when these RP sessions are usually filled up. Likewise, it is a pain to have to constantly tell people, "Hey, optimize your avatar!" with some inevitably ignoring such a case. As such, it'd be really great if avatar stats could be exposed as a way to create an automated moderation for RP focused worlds especially.
Log In
fluff ≺3
Avatar stats are all locally calculated so not really network sync able.
--- talks about how things are calculated and how it 'server-side' ---
this is more technical talk if you don't mind reading it, below you find solutions.
Meaning that they won't be exposed unless you got everyone shown.
For world it will be harder as a example:
If a good optimized avatar uses physicsbones & dynamic bones (yes this is possible) and people have auto update to physicsbones on, for those people that avatar would be medium but for you (if you don't have the auto update to physicsbones enabled) it will be good performance.
So long vrc doesn't store the avatar stats in the database it will be impossible, it would require to much calculation to locally calculate performance stats for every avatar (requiring all the avatar to be downloaded as well)
Storing in a database is as well not really a option since it would require or the stats to be send when uploading the avatar (what can be manipulated). Or need a way of if someone shows the avatar to sen the performance stats (as before can be manipulated).
Leaving 1 option to have a server or some kind that calculate stats for every uploaded avatar.
--- Possibility ---
Udon could use the local user(s) to try to get the users avatar stats and do stuff on like a 'avatar change event' (this will always be triggered when the person joins the world).
A world option to limit someones users to a specific performance rating or better. Forcing them in a 'excellent, good, poor, very poor'
I don't try to down vote the idea, I think it great to do for party worlds or big worlds to force people to be in better performing avatars (ofc requiring options for exceptions)
Yewnyx
Revisiting this, since I've heard some feedback that there are concerns about worlds that would restrict their availability to users based on their avatar stats.
I plead for Devs to reconsider, and would like to provide additional clarity on how this, or a partial compromise, would make some lobbies more inclusive, rather than exclusive.
- GPU STRAIN: For lobbies which regularly host a large number of people, the lackof any controls to moderate avatar performance ends up being disinclusive to anyone with average-or-below GPUs, which can and has caused RP fails when lobby becomes crashy on account of avatar changes entirely out of the RP'er's control.
- PRECEDENT: There are already maps which are mostly or entirely unavailable based on the presence of a limited number of allowed community map-openers, such as the Castle and the Campgrounds. These maps are unlocked via an Udon-driven username whitelist and based on either community trust or patreon participation.
- COMPROMISE: A command-line option to log avatar stats on join would almost as useful; the intent is not for banning live, but we desperately need a way to perform an analysis over time of avatar trends and 95+ %ile performance offenders. At this point we are doing very coarse checks by asking people in lobby to dedicate their time during lobby to stand by as avatar police ("Polyce").
Yewnyx
Seconding this. The availability of this would make it far easier to log and perform analysis of mean/median avatar performance, such that we can perform targeted requests for avatar optimization in the gator lobby.