We usually write about what we learn,
so hopefully you can learn too!
Before doing anything, is my character compatible
to be a Cross-Platform Avatar?
For a character to be able to be Cross-Platform it requires to be optimized for mobile devices:
For more information about what you can and can't do with your avatar visit this website:
Prepare Unity to be able to upload Avatars to VRChat
You will need these things to upload your own Avatars to VRChat:
In the following link they explain the requirements and how to set up the SDK:
In my personal experience It worked when I didn't installed Unity Mitigation Tool, so I don't recommend installing it. Maybe it's just a coincidence. To import the SDK you have to go to Assets > Import Package and select the SDK in the folder.
CAUTION: Importing the SDK will only affect the current Unity project. You will need to import it in every Unity project in which you want to upload something to VRChat.
If its the first time you log in with an account in the SDK you will have to wait until you are able to upload anything to VRChat.
Setting up the Character in Unity
Once you have the Unity Project with the SDK and your rigged character its time to put it on a scene.
To import the fbx model go to Assets > Import New Asset.
You will have to do the same to import the texture (Another way to import them is draging them into the Project Tab).
Once you have imported both, drag the model into a new Scene. To create a new Scene you can go to File > New Scene; Right Click on the Project Tab > Create > Scene; or simply type Ctrl + N.
1. Change the Scale
To be able to see how big is your character with respect to the world, go to GameObject > 3D Object > Cube. A cube of 1x1x1 will appear in the Scene so you can compare it with your character.
If you need to change the Scale of the character DON'T DO IT ON THE TRANSFORM COMPONENT OF THE CHARACTER IN THE SCENE, this could create unwanted errors in the future.
To modify this parameter the best option is to click the character in the Project Tab and in the Inspector Tab > Model change the Scale Factor value until you have the size desired. You will need to Apply to see the change in the Scene.
2. Create a Material
To create a new material in the Project Tab, Right Click > Create > Material. Left Click in the New Material and in the Inspector Tab should appear the configuration of the material.
Another option is to click your character in the Project Tab > Material and there click in the circle in the list of materials and choose the material you have created previously.
Quick Tip: If you want to change the name of something in the project, for example, a material, in this version of Unity you can press F2.
3. Add the VRC Component
Now you click the parent object of your character and look at the Inspector. Click in Add Component, search VR and add the VRC_Avatar_Descriptor.
In this component change the parameters of View Position to align it in front of the character. This is where the First Person Camera will be when playing with this character. In theory this would be enough to upload the character, but for caution lets check that there isn't any big problems.
Go to VRChat SDK > Show Build Panel Control, popping up a small window. You have to look at the messages below the button Build & Publish.
If you want to add Visemes to your character so it can move their mouth when you talk I recommend you to check our Visemes Guide:
4. Fix the Rig
Click your character in the Project Tab > Rig and change the Animation Type to Humanoid.
Go back to the VRChat Tab.
If you have this problem you have to click on Rig > Configure and select None in the UpperChest box and change the Chest bone to Spine2. Make sure that you have at least 3 fingers rigged:
Thumb, Index and Middle to have Full IK and Tracking later.
If there is no Red Errors it should be fine. Then click Build & Publish. The build can take some time depending on your computer and the model you are uploading.
This should appear in the Game Tab. Here you can name the avatar, give a description, indicate if there is any content warning and if you want it to be able to be shared. Make sure to check that you own the rights of the characters. If for some reason in the future you upload a character you dont own you can have legal problems later.
To change the preview image you have to go to the Scene Tab and move the new VRCCam in the scene.
When you are done, click Upload and wait for the process to end!
Rigging our character in Mixamo
Mixamo is an automatic rigging website tool that allows you to create quick humanoid for free.
As long their shapes are not complicated.
If you are already familiar with this tool you can skip to the next part.
To log in you can use your Google Account.
Upload your character
For a VRChat avatar you want to use at least 3 Chain Fingers because is the minimum that the game needs to detect correctly all the basic movement of your hand.
If Mixamo doesn't detect 3 "fingers" it will create less chains and you will have issues later.
Once everything is placed correctly just click Next and the autorigger will do his work. If you are satisfied with the result, click Next again. Now you can see the character in different animations to ensure the quality of the rig.
Don't trust, test
Before downloading your character from Mixamo, we strongly encourage you to run the following animations to test if there is going to be any problem with the avatar beforehand. Some of these problems can be solved after downloading the rig, but others cannot.
Download that avatar!
Having trouble yet?
Mixamo's automatic skinning and rigging can work. But more often than not, your characters will encounter different problems that only can be fixed manually using a 3D software.
What went wrong? What do I do? These are questions that I made myself while working on these characters and I hope I can answer them here. Not all models are the same. Some have special characteristics and you have to look out for those.
These next examples will help you to identify and fix problems that could happen.
This is the kind of stuff we should be aware of. For this particular case, removing all the influence of the shoulder bone will be enough to lead to some better results.
Removing all the influence sometimes is not the best idea so you can also reduce the amount of influence the shoulder makes on that part of the body for different results.
In this pictures you can see how the bone influence should look for both cases.
One particularly annoying problem that I personally found while making visemes for the avatars with Maya LT, was that even when the character was in T pose, if I tried using the blend shapes, the model will return to its original pose before the rigging. You can check what I'm talking about on the gif below.
Select the old mesh, then the new one. Go to Skin > Copy Skin Weights.
You can delete the old mesh, since it has no use.
Now all the blend shapes will work perfectly!
Like any automatic tool, Mixamo is a great time cutter that provides an easy way to go with decent results, but problems can arise, we covered some of the most annoying ones and hopefully this blog post helped you somehow.
Pedro Solans was an intern and now junior animator working at Polygonal Mind's in-house team.
Daniel García (aka Toxsam) is the founder and creative director at Polygonal Mind.