Skip to main content

Set Up an FBX Avatar for VRChat!

If you want to follow along, I am going to use this model from the now outdated VRChat tutorial. Unzip it in Windows Explorer before importing.

If your avatar package comes with a scene with your avatar set up, then just use that. Otherwise it might come with a prefab file, which you can just drag into the scene, and it includes the avatar and all its components set up. Use that if there isn’t a scene file included in your package.
If your avatar doesn’t come with either of those and only comes with an FBX file and textures, there are a few extra steps you have to follow.

To import new assets, drag it from Windows Explorer into the Unity Project view in the background. 

If not, or if it has errors that prevent it from uploading, you’ll have to follow the rest of this tutorial where I’m going to show how to set up an avatar for VRChat. 

Navigate to the FBX file in the project and click on it. We first have to configure the rig, which determines how our avatar’s bones will move. In the Inspector, we can see that the default is generic and we have to switch it to Humanoid. Then press the configure button. 
We need to make sure all of the necessary bones are assigned. On the body tab, all of the bones are necessary for VRChat, except the upper chest and the toes, which are optional. This example model doesn’t have the chest filled, so in the box next to chest, click the circle and in the new window search for “chest”.
After that’s applied, click on the Head tab and make sure everything except for the jaw is assigned. Click the circle button next to “neck” and repeat the process to fill that in.
The jaw should not be assigned in VRChat, although many models will automatically assign it to an incorrect bone. To remove bone assignment, click on the green circle next to “jaw” and press the delete key.
After you’ve checked that all the bones are mapped correctly, click done at the bottom and click apply.

OK, now let’s drag our avatar into the scene. With it selected, in the top of its transform component you will see three dots. Click on them and then click reset position. This will reset the avatar’s position to the center of the scene, or 0 on the X Y and Z axes.

You will see that this model  doesn’t have any textures on it. Click on the FBX file again and click the materials tab in the inspector. Click extract materials, and extract them to the avatar’s folder. These are the materials that the avatar uses. Materials combine image textures with shading algorithms called shaders to give the impression of detail on a geometric surface. Now that we have these materials, click on them. In the inspector you can see these slots, these are where we can drag in our textures. The one we care about right now is the albedo or base color slot. Drag in your textures and they are now applied to the model!
At the top of the inspector it says our model is using the standard shader; this is Unity’s default shader and it is meant to give photorealistic results. If you want a more toon look to this avatar you can change the shader by clicking on the drop-down, VRChat>Mobile>Toon Lit. This shader is compatible with Quest however it doesn’t look great on PC. There are plenty of different shaders you can download online, including many meant specifically for VRChat.

Now to set up our avatar specifically for VRChat. There is a great community tool I’m going to use for this called Pumkin’s Avatar Tools. You can easily import it into the VRChat Creator Companion!
https://rurre.github.io/vpm/
https://github.com/rurre/vpm#readme
The old way download it from this link and import it into the project by dragging it from Windows Explorer into the project view. Then, a window should pop up with every file checked, just click import.

Now go up to Pumpkin>Tools>Avatar Tools, and a new window will open. Select your avatar in the hierarchy and then click “Select from Scene'' in the Pumkin Tools window. Or drag in your avatar from the hierarchy into the slot, either works.

Now click Quick setup avatar, and you should see that two components are now added to the root gameobject of your avatar. 
One of them is the pipeline manager: this will contain the ID of your avatar that denotes it as *your* avatar for VRChat. You don’t have to worry about it right now.
The other component is the VRC Avatar Descriptor: this contains all the important parts of the avatar.

Sorry I didn't get around to finishing this tutorial! Watch Sippbox's for the rest!