Skip to main content

Custom Avatar Creation (Unity)

Putting Things Together

  1. Create a new avatar project in the VCC.
  2. Typically you will start with a base from one of the sites mentioned in the previous page (like booth.pm or Boothplorer).
  3. You can recolor an avatar by editing the textures in an image manipulation program like Photoshop, GIMP, Krita or online.
  4. You may also get clothing and props. These can be added non-destructively with tools like VRCFury or Modular Avatar. Static meshes, like hand props, are typically easier to add than ones with armatures that need to be fitted to the base, like clothes.

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.

Physbones

Physbone components are used to add reactive bone chains to avatars; they can be used to make many types of things move, such as hair and clothing. They can also be interacted with, both by the wearer and by other users (if those settings are enabled).




Contacts



Toggles 

Toggles are objects that can be toggled on or off on your avatar in-game. Examples include articles of clothing or props.

The easy way to make toggles is to use either VRCFury or Modular Avatar.

The hard, tedious, old-fashioned way to make toggles is covered in the video tutorial below:


Puppet Menus



Custom Gestures/Expressions

The easy way is to do this through tools like VRCFury.

The hard way is as follows:

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[ask.vrchat.com] (Internet Archive)


For controllers that have individual finger tracking (like Valve Index controllers):



Avatar Audio





Voice Activated Effects



Twist Bones



OSC

OSC stands for Open Sound Control, but that doesn't matter. What OSC does is allows parameters on your avatar to be connected to external applications or devices. OSC is used for impressive things like heart rate monitors and face tracking.

OSC Official Overview

OSC Unofficial Overview video:


Upgrade Old Projects

Unity 2018 and SDK 2 projects (very old ones, pre-2021):


(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.