Skip to main content

Learning Custom Avatar Creation

CATS Documentation (learn CATS here)[]

Twist Bones


Lip sync

To automatically generate lip sync via CATS, go to the Visemes dropdown. You must have at least 3 mouth shape keys to start: AA, OH, & CH. Once you have those open CATS, open the Visemes menu, select the shape keys and click “Create Visemes”. [This will create the 15 visemes necessary for lipsync in VRChat.]

If the 3 slots don’t automatically fill, try translating your model via the Model Options dropdown. If the shape keys aren’t already in your model you must create them using Blender.

In Unity, fill the visemes via Pumkin’s Tools.  - (if your model doesn’t come with the 3 visemes required for CATS) - (uncommon, extra work)

Eye Tracking

Allows an avatar’s eyes to dart around and focus on objects of interest. Created through CATS. The tooltip popups will guide you.
Applied in Unity first through Pumkin’s Tools, then set the eye rotations in the Descriptor.

Deleting unseen geometry

If you have clothes on top of your base mesh, delete the polygons underneath that should be covered! This will not only increase performance, it will prevent clipping issues!

Select the base mesh, go into wireframe mode and select the faces to delete. Then navigate to the Object Data Properties tab (inverted green triangle), create a new vertex group, and with nothing else but the faces you want to delete selected, assign them. Now rename the group descriptively and deselect.

Before you delete these faces, save a new file first!

Custom Gestures/Expressions (Avatars 3.0)

Locate the Examples3 folder in the SDK in Unity. Click on vrc_AvatarV3HandsLayer.controller, duplicate it (Ctrl+D), then rename it descriptively. Create a new subfolder in your avatar’s folder for animations, and place the new controller there.

In your avatar descriptor, under Playable Layers, click Customize then under FX Default Non-Transform. Drag the controller into the slot.

Duplicate your avatar in the scene. Open the Animation window (Ctrl+6). Create a new animation (e.g. Smile). Click record. Then click on the body in the hierarchy, and in the Skinned Mesh Renderer open Blendshapes. Drag them to make the expression you want (in this case Blendshapes like Blink Happy, a slight smile, and slightly raised eyebrows.)

When done, click the top diamond at frame 0 in the animator, Ctrl+C, then Ctrl+V at exactly frame 1.

In the Animator window, navigate to the hand movement (in this case Open), and set the animation file in the Motion slot in the Inspector window.

AV3 Walkthrough - Part 3 - Weights, Blending, and Tracking - Avatars 3.0[]



Many models and bases will likely come pre-rigged. If you rig your own model it must conform to the VRChat Rig Requirements[].
If using a humanoid avatar ensure that in the model import options it is set to humanoid.
If using a non-humanoid avatar, use the generic rig [and it is ideal that you use your own animation controller].

Rigging can be done in Blender by using rigify.

Rigging can also be done quickly and easily through the website
Quick Start - Mixamo Avatar Creation[]


Weight Painting

The way the bones are mapped to the mesh is through weights. Bone weights can be painted onto the mesh via weight painting.

Weight painting is hard. There is no perfect weight painting. You will suffer when weight painting.
It’s OK and a necessary evil that every 3D artist must endure if they want to properly rig their characters.


Editing Textures

Find the image texture of what you would like to edit (e.g. the hair texture) and bring it into an image editor (like GIMP or Photoshop). If you want to edit the color, select what you want to edit and mess around with the color settings. If you completely want to change the color set it to grayscale first and then change the hue.



Clothing models can be searched for on DeviantArt, search “MMD (name of clothing item)”.
You would then parent the clothing using CATS.
Don’t forget to respect the rules, many explicitly say not to use them in VRChat.

The quickest and easiest method to create custom clothing in Blender is to select all the faces of your avatar that you want there to be clothing, marking seams, UV unwrapping, adding a texture and adding a solidify modifier to make the clothing look like it has depth and isn’t shrink wrapped to the avatar.

Additionally you can sculpt the clothing mesh to your liking. For simple edits you can just use the Grab brush (G on keyboard).
You can also sculpt using Blender’s physics based cloth brushes and bake the extra detail into a normal map.

Clothing can more realistically be created in Blender by “stitching” 2D planes with cloth physics applied to them.
I would not recommend this method as it is tedious.

If you are especially interested in making 3D clothing, you can either buy the Garment Tool for Blender by bartoszstyperek, or custom model your clothes. Custom modelling your clothes for your specifc model will usually make the rigging much easier and more accurate, plus it will usually result in a lower polygon count. Unfortunately, Marvelous Designer no longer sells a perpetual license, so I can't recommend it even to people who really want to get into designing 3D clothes.



For an anime-styled 3D character, you’re going to want geometry-based hair (as opposed to particle-based). There are different ways to model hair depending on what you want your final result to look like.

Texture Painting

The process of painting textures onto models. For non-PBR texture painting (just a diffuse texture) Blender works fine. Pre-made image textures (like MMD faces, etc.) can be edited through GIMP or Photoshop.

Substance Painter is by far the most robust PBR-texture painting application but also the most expensive. Alternatives include ArmorPaint (€16 for the precompiled version) and the free Quixel Mixer.

Again if you are just painting a diffuse texture just use Blender.


Avatars 3.0

AV3 Walkthrough Index - Avatars 3.0[]

Full-Body Tracking

VRChat advises against using rig hacks because they may break in future updates.


Complete avatar creation (NOT FOR BEGINNERS!!!)

Are you masochistic enough to make every part of an avatar yourself?
Rainhet's avatar courses seem to be the most streamlined and simplest for creating an avatar from scratch in Blender.

There is a step-by-step playlist and an abridged playlist.

(DATED, Avatars 2.0) Custom Animations

Avatars 2.0 is now deprecated. Do not use it for a new project.

To add these, find the CutsomOverrideEmpty file in the VRCSDK. Make a duplicate of it (ctrl+D) and rename it (something like CustomOverride) (press F2).

Click on it and the animation slots will appear in the inspector window with
nothing in them. If empty, the animation will be the VRChat default; if filled with a .anim file, it will be overwritten and that animation will be used instead.

To apply the animations to the avatar, click on the avatar and drag the CustomOverride onto the Custom Standing Anims and Custom Sitting Anims slots in the avatar animations component in the inspector window.