Can I create avatars in game?

I want to make an avatar world that has preset pieces of avatar body parts and have the player mix an match them to make a custom avatar. Is this possible or can I only make avatars outside of vrchat? If i can’t, is there a way to at least edit the textures and vertices of an existing avatar?

Since avatars need to be uploaded before they can be used on vrc,
The answer is going to be a yes, and a no.

So, the good:
It’s possible to make an avatar that has multiple outfits and body parts that can be changed visually as long as they use the same base skeleton.

You can toggle these parts on or off using the animator and using the expression menu in-game.

The Bad:
You can’t exactly upload new avatars from worlds themselves, this is a limitation of the sdk and not something I see change anytime soon.

Additionally, worlds can’t access anything on the avatar itself for modification, and even if it could, the avatar would lose these modifications the moment they visit another world.

The work arounds:
Depending on your technical knowledge, there will be 2/3 ways you can get around these limitations. And it’ll be down to how you want to implement it yourself.

Option A:
Create an avatar with these different body parts already attached and allow the user to turn these parts on or off using the expression menu. (Note, these avatars will probably be rather large in size due to the fact you’re storing multiple avatars into one avatar, blend shapes will save some space but it’ll still be a lot of info storage wise)

Option B:
Create an world where you can put the body parts down on a pedestal or something and it “assembles” the avatar, when the user is happy with the avatar they designed, they can hit a button that gives them a code they can enter on an external website that generates the 3d model and allows them to upload said 3d model themselves using the sdk.

Option C: (The VRket option)
Show the different body parts in a world with a download link to said body parts and allow users to view them in-game, move them around and play around with them on their own avatar and when ready download the separate parts on their own and have them assemble it in unity themselves.

For the option where the avatar would already have the different parts saved on it and change the parts like outfits through animation (option A);would the toggling between the different parts be persistent? Like, if the avatar’s arm was exchanged for a tentacle and then the player saved and either exited the game or changed avatars, when the player returns to the game and uses the avatar again, would the avatar still have the tentacle instead of the arm? Or would the avatar reset back to the default arm?

In most cases vrchat will try to restore the options you’ve toggled in the action menu, however, changing avatars might occasionally reset these options.

What causes the reset? Is it the clearing of downloaded content cache, local profile cache, or local avatar cache?

Short answer: No

Workarounds see: @Luna_Delrey