I propose a system of self-tagging your uploads. Each tag has useful utility.
If you want to upload an avatar with crazy effects, you need to tag it. If you tag improperly, people can block you for improper tagging. Perhaps with some way of letting people know that that’s why you hid their avatar.
A lot of this is intended to add granularity to what players can choose to filter on avatars.
𝗔𝘃𝗮𝘁𝗮𝗿 𝗧𝗮𝗴𝘀:
• 𝙋𝙪𝙗𝙡𝙞𝙘 - Standard upload restrictions. Avatar features are viewable as regularly dictated by the performance ranking system. Basically, no different from current public avatars.
• 𝙉𝙎𝙁𝙒 - Only available in private worlds, users can disable all avatars with this tag.
If you’re in an NSFW tagged avatar, and join a non-private world, you’ll automatically be switched to a different avatar. (It’d be good to let us define a fallback avatar).
This has already been requested and would fit very well in an improved avatar tagging system.
• 𝙎𝙥𝙚𝙘𝙞𝙖𝙡 𝙀𝙛𝙛𝙚𝙘𝙩𝙨 - Users can disable all animations/avatars with this tag. Has less upload restrictions compared to Public avatars.
It’d be good if individual animations, gameobjects, or components could be tagged with this instead of the whole avatar, so only those items get disabled based on player preference.
Avatars with “stage animations” definitely always seem to be their own “tier” of VRChat creation. Current VRChat restrictions are most likely based on the idea of having a lot of people with the same avatar in the same room, but a “stage animation” avatar is really something where it only makes sense to see one of them at a time.
Creators almost always have to bypass the SDK limits to upload these. They may as well be officially recognized as part of what we do.
Because players can blanket-block items with this tag, we could then make exceptions to both upload restrictions and performance rankings.
Instead of editing the SDK to bypass restrictions, we’d have a way to do it legitimately. It would also tie in well with the upcoming “graceful avatar downgrading” feature.
• 𝙇𝙤𝙘𝙖𝙡-𝙤𝙣𝙡𝙮 - Given the idea to have some tags apply to gameobjects or components on the avatar instead of the entire avatar, this would be a good time to implement local-only item tagging.
This has already been requested and would fit very well in an improved avatar tagging system.
• 𝙊𝙥𝙚𝙣 𝙨𝙤𝙪𝙧𝙘𝙚 - The source files can be downloaded from in-game. I could see this as particularly controversial, so it may be best to ignore this idea - but hey, let's discuss!
I'm sure people will bring this up: Shady users will use it as a way to distribute stolen assets. On the other hand, it could de-incentivize using third party sites to distribute things, and stolen stuff is probably already being distributed in other places.
• 𝙎𝙝𝙖𝙧𝙚𝙙 - When inspecting a player, we can view a list of their public worlds. Let’s do the same with avatars. Avatars with this tag can appear in a list of public avatars that can be cloned by anyone who looks at the author’s profile.
• 𝙁𝙧𝙞𝙚𝙣𝙙𝙨-𝙤𝙣𝙡𝙮 - Only friends are transmitted any data about your avatar.
The intention is that it’ll be harder for unknown strangers to rip your avatar - only friends - who you presumably trust have it downloaded to their cache.
This comes with the option to reveal your avatar to people.
This has already been requested and would fit very well in an improved avatar tagging system.
• 𝙋𝙚𝙙𝙚𝙨𝙩𝙖𝙡-𝙤𝙣𝙡𝙮 - These are public avatars that cannot be cloned.
I would like to mention the kind of utility this would provide beyond encouraging people to actually explore worlds for avatars - it’s a way to offer “privately distributed” public avatars. In other words, if I want to let my friend use an avatar, but I don’t want the avatar being useable by just anyone, I could put an avatar pedestal in an unlisted world and let my friend take the avatar from the pedestal.
This would of course be incompatible with the "Shared" tag and you won't be able to add both tags at the same time.
This has already been planned and would fit very well in an improved avatar tagging system.
It would also indirectly fulfill this request:
𝗙𝗲𝗮𝘁𝘂𝗿𝗲𝘀 𝗻𝗲𝗲𝗱𝗲𝗱 𝗳𝗼𝗿 𝗮𝗻 𝗮𝘃𝗮𝘁𝗮𝗿 𝘁𝗮𝗴𝗴𝗶𝗻𝗴 𝘀𝘆𝘀𝘁𝗲𝗺:
• Block/downgrade avatars by default, based on avatar tags and/or component tags.
We should also be able to block avatars by ID and by author. If a tagging system like this gets made, that’d be a good time to fulfill this request as well:
• Better detailed information of avatar stats - including active and disabled gameobjects as two separate columns.
Any gameobject or component tagged with “Special Effects”, would only affect stats in the “Potential” column.
Let’s say we decide not to incorporate Xiexes suggestion. It would still be very useful to show an alternate ranking depending on whether or not users have the “Special Effects” items enabled or not.
This is one way the rank could be dynamically changed without the avatar having to be “scanned every frame”. If you turn on “Special Effects”, their rank will change to reflect that. If you turn them off, you’ll see a better overall ranking.
For the “Local-Only” tag, the number of local items should be displayed as a separate number. Let’s say I have an extra mesh with a hud shader on it over my head, marked local.
Meshes: 2/4 (1 local)
Material slots: 5 / 8 (1 local)
For yourself, Material slots would appear as “Good” rank and for others it would appear as “Excellent” in the avatar stats. Meshes would be excellent for both.
The performance rank would then show you what ranking others see, but with the local rank next to it. The local performance rank will ONLY show if the avatar is using local objects.
✪ Active performance: Excellent
☺ Local performance: Good
• Avatar fallback system
○ Let’s say you’re restricting who can see your real avatar with the friends-only tag - you can define a secondary avatar that they see instead, such as a version of the same avatar with less features or an alternate texture and design that you care less about getting possibly ripped.
○ If you hide someone else’s avatar, you can also change the “grey man’ to something else.
----
In the end I hope for a system that helps a little with these things:
  1. Does not limit creative potential
  2. End user can control what they see
  3. Security against malicious shaders, effects, and crashers
  4. Easy to find public avatars
  5. Hard or impossible to steal or rip assets and avatars
  6. Minimal manual curation or moderation of public uploads
  7. Promotes proper optimization
  8. Tells us useful and accurate data, unlike the current performance ranks
For things like security, my system won’t really help. People making crashers won’t obey the tagging system.
The friends-only tag will help against ripping a little bit, but is also not an end-all solution for protection against ripping. There probably is no solution - be cautioned that whatever you upload could get stolen… or even just recreated.