Recently, I tested an internal prototype in Unity 2022 that could be very useful for VRChat avatar performance.
## Dynamic Clothing Profiles
VRChat recently released the Accessories Shop, and it made me think about a similar system for avatar outfits.
Right now, many users upload avatars with multiple outfits included in the same avatar package. This often results in avatars with 500,000+ triangles, even if only one outfit is visible at a time.
A better approach could be a
Dynamic Clothing Profile
system.
The idea is simple:
VRC+ users could upload one base avatar with multiple outfit slots, for example 3 to 5 slots. When the user changes outfits, the currently active outfit gets unloaded and the selected outfit slot gets loaded instead.
This means the avatar does not need to keep every outfit active or loaded at the same time.
## Why this would help
This could allow users to keep their avatar in a Medium or even Good performance rank while still having multiple outfit options available.
Instead of uploading one avatar with five full outfits included, users would upload:
* One base avatar
* Several separate outfit assets
* Outfit slots that can be loaded and unloaded dynamically
Only the selected outfit would be active, while unused outfits would not affect the current avatar performance as much.
The important part would be preserving the bone links and attachment points between the base avatar and the clothing asset. VRChat already has a similar concept with the Accessories system, so this could potentially build on top of that existing work.
## Benefits for users and creators
This would help reduce bloated avatars, especially avatars that include many outfit toggles. It would also make outfit management cleaner for creators, since they would not need to upload the same avatar multiple times with different outfits.
For users, it would reduce clutter in the avatar upload list and make outfit switching more convenient.
For creators, it could create a cleaner workflow for selling and distributing outfit packs.
## Benefits for VRChat
This could also reduce storage usage on VRChat’s servers.
Instead of users uploading the same avatar five separate times, each with a different outfit, they could upload one base avatar and attach multiple outfit slots to it.
This could reduce duplicate uploads, lower unnecessary storage usage, and encourage better avatar optimization.
It could also be a strong VRC+ feature because it gives subscribers a practical benefit without locking normal avatar uploads behind a paywall.
## Technical notes
I tested a basic version of this system in Unity 2022 with runtime loading and unloading of outfit assets. The implementation was fairly straightforward in a simple prototype.
The main technical requirement would be a safe and controlled way to:
* Load an outfit asset
* Attach it to the existing avatar skeleton
* Preserve bone references
* Unload and dispose of the previous outfit
* Recalculate or update avatar performance stats based only on the currently loaded outfit
This would not replace normal avatar uploads. It would simply give users and creators a cleaner, more optimized way to handle multiple outfits on one avatar.
I think this could be a major improvement for avatar performance, creator workflows, VRC+ value, and server-side storage efficiency.