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!
Isn't it great when you talk with somebody online and you see his mouth moving while he talks? It really add ups to the experience, specially in Virtual Reality.
That's what this is about. Creating different shapes so you can see yourself talking when you look at a mirror.
It's the little touches that makes something good to something better.
Let's say you already have your model done, it's also rigged and skinned so its ready to go. But, you want to make some blend shapes because in-game they look neat and funny.
Well, let's make them!
First, we need to know how many blend shapes we need to make. VRChat uses 17 different blend shapes. These are:
It's important to know that these shapes that we are going to make will need to have a very specific name. For example, aa is called vrc.v_aa; ch is called vrc.v_ch; etc...
The only exceptions to this rule are the first 4 of the list. Their names will be vrc.blink_left, vrc.blink_right, etc...
As you can see in the image, there is no "." in any of the names, and that's because Maya doesn't let you write dots in the names. We will roll with it for the moment.
Duplicate your character and move it to a side. Hide what is not necessary and show what it is.
Use an image of reference to know how to shape the mouth depending on the shape you need.
This gives you a general idea of how I made the different shapes of the mouth depending on the viseme.
You can see that there is not any vrc.blink_right or vrc.lowerlid_right, but I will talk about that later.
Another thing to keep in mind is that even if vrc.v_sil doesn't change the shape whatsoever, you must change something regardless. When we use Blender later, when exporting, if Blender detects that "sil" it's the same as the base form, it will remove "sil" from the blend shapes. Move a vert a little bit, one that no one will see, on the back of the mouth, for example.
Now that we have every shape done, we will use the Shape Editor.
Open the Shape Editor in the sculpting tab in Maya. Or going to Deform>Blend Shape.
Now, select one shape that you created and then select the original model. Go to the Shape Editor and click on "Create Blend Shape". Repeat this with all the 17 shapes.
Before, I said that I didn't have any blink_right nor lowerlid_right and that's because you dont usually need them. If the character is symmetric, you can duplicate your blink_left, select the new target and in the Shape Editor go to Shapes > Flip Target.
This will create a mirror effect and making the right eye to blink. You should change the name once it's done.
Export and Import
We have every shape ready, so now we will export all the package. Select all the shapes, meshes and bones and go to export.
Be mindful of checking in the box of Animation and making sure that Blend Shapes is activated too, because if it's not, it wont export correctly.
Write the name you want and export it.
Now we will open Blender, where we will change the names of the shapes to the correct one.
Open a new scene and delete the objects that get created all the time. Camera and light too.
Then, import the file we made earlier.
Navigate through the menus to find the Shape Keys sub-menu.
Here you can change the names of all the shapes. Delete the first "_" and replace it with a "."
The last thing you have to do is to re arrange all the shapes to be in order. The order is the same as the list that I wrote at the beginning.
Once that's done, export as fbx.
You should have your Unity latest stable version already set up. If you don't, check this guide out made by my friend Alejandro Peño where he explain how to set it up.
With the character imported, we will add a new component called VRC_Avatar Descriptor.
We will draw the mesh into the "Face Mesh" section. All the visemes should appear below there.
Now just click on each section and select the corresponded viseme.
Once it's finished, you can upload the character like you usually do. Again, if you don't know how, you can check this guide:
Blend shapes visemes are a great way to give life to your avatars in VRChat.
I would 100% recommend using them in your future avatars.
Depending on the model it takes around 30 min to an hour to create all the shapes needed, and they look great.
It's a lot of fun making these, so give them a try!