
Hands optimization for VRChat
HeadingOptimizing hands for VRChat involves careful consideration of poly count and texture resolution to ensure optimal performance
The Mission
Have you got problems with hands controls in the Mixamo auto-rig? So follow this steps to achieve an avatar with hands ready to import for VRChat.
Tools
- Maya LT 2018
- Blender 2.9 (not necessary)
Before start
We must need the avatar in T-pose, for an easier workflow.

Before import hands

- Delete all the Shape Keys and don't forget to clean the History of the object.
- Duplicate the mesh (Shift + D).
💡 We will work in the duplicated mesh, delete the first one.
- Be sure that you delete the rig (if it has).
- Count the nº of vertex in wrist (must be 8).
Delete one hand

I usually delete first one hand to get later a mirror of it.
Make sure you have the Pivot of the hands is situated on (x-0, y-0, z-0).
This is the kind of stuff we should make sure or it could probably cause problems in the future with the tool Mirror.
Match and combine both objects
It's time to adjust the hand and match the vertex with the mesh of the avatar.

Of course, we don´t need to match perfectly the vertex, just have to be nearby.
Combine both objets in only one using the tool Combine, up in Mesh → Combine.
⚠️ Don´t forget to delete all shape keys of both objects before Combine ⚠️
Use the tool Merge to Center, select first the vertex that you want to Collapse together (work merging pairs of vertex).
UV's

We can not forget the UV's, we had insert new mesh into our avatar, so now we have to match the hands in the texture.
But don't rush, because the hands (if we didn't add any new vertex/edge/face before) are mapped. We just need to take the UV's of the hands, rescale it and place they in the same position as the old hands.
Try to fit the hands with the texture backed, this will save time to focus further in some future backculling, weight problems,...
Finally, if we are not convinced with the final result, we also can move before export, the vertex/edges/faces of the object. Just make sure that the avatar hands are exactly where you want to, with the scale as you want,...
Once we followed this steps, now we have to export into a fbx and upload it to Mixamo.

TIPS
Make again mirror of the avatar
To make this faster than usually, I use Blender 2.9.
Navigating the viewport
Mouse
- RC= right click.
- LC = left click
- MC = middle click.
Middle click
MC -> rotate camera.
ALT + MC -> snap rotate camera.
CRTL + MC up/down -> zoom in/out.
SHIFT + MC -> pan camera.
First of all, import the fbx of the avatar, just before you want to upload.

We want to select one side (right or left) and delete the other one.

But first, we need to activate the X-Ray function and set the camera in Front Orthographic.

This let us select all faces from one side just clicking and draging with the Select Box.

Make sure that the middle vertex are in the 0 position in X.
The fastest way to do this is using keyboard shortcuts:
S → Scale.
S + X → Scale just in X.
S + X + 0 → Scale in X and move all vertex to the same position in X.
Then you just have to move the selection to 0 in X.

Search the Modifier Properties (wrench) and add the Mirror Modifier (you have to apply it).

You also can check Clipping in the Mirror Modifier, this prevent vertices from going throught the mirror during transform.
Arm Separation
When you have been uploaded your avatar to Mixamo (using the auto-rig), choose the animation of typing to get sure that each finger works fine. Also, we have some settings at the right, we will use one whose title says "Character Arm-Space".



Conclusion
Of course, the scale of the hands, topology, etc can not match perfectly with all the avatars, but we can modify at least, the mesh of the hands or avatar before combine together and make again the UV's.
However, normaly change the mesh of an avatar rigged could be tiresome. But following different tips and rigging with Mixamo gives you a lot of time that you can spend in other things.


