Skip to main content

Creating Your First Avatar

VRChat has tens of millions of avatars, and anyone can create them! This page explains how you can create your first VRChat avatar. There are two ways to create an avatar:

Requirements

To upload a custom avatar with Unity and the VRChat SDK, you must meet the following requirements:

  • You must have an account on VRChat.com.
  • Your VRChat account must have a trust rank of "New User" or higher.
    • If you're new to VRChat, you'll receive an email once you're allowed to upload avatars.
Need help?

If you get stuck or need help, here's where you can get help:

Step 1 - Choose a 3D model

Maybe you already have a 3D model that you want to use as an avatar - or you might be downloading a 3D model for the first time. Choose one of the following four ways to get started:

If you've never used Unity or the VRChat SDK, try using one of the following avatar creation tools:

  • The VRChat Avatar Systems page lists several beginner-friendly avatar creation tools.
    • These tools are similar to customizing your character in a video game.
    • These tools do not require the VRChat SDK! If you use them, you can skip all other steps on this page.
  • VRoid Studio is an anime-theme character creator for creating VTuber-style models.
    • Characters have hundreds of customization sliders and can be hand-painted.
    • For some examples of what it can do, check out the VRoid subreddit.
    • It's also available on Steam.
    • ⚠VRoid Studio outputs avatars in the .vrm format, which isn't natively supported by Unity!

Step 2 - Set up the VRChat SDK

Congratulations on choosing or building a model! Before you continue, you'll need to set up the VRChat Creator Companion. It will help you install Unity and create projects with the VRChat SDK. Watch the video below to get started!

Read the Creator Companion's Getting Started page to learn more. After setting creating your Unity project, you're ready to continue!

tip

Are you new to Unity? Visit Unity Learn for free tutorials on how to use Unity.

Try VRChat's example avatar

Before you import your own 3D model into Unity, you can try using VRChat's example avatar instead. This allows you to learn how to upload an avatar without worrying about problems related to your 3D model.

Open your avatar project and go to 'VRChat SDK > Samples > Avatar Dynamics Robot Avatar.'

The example avatar can help you understand what a complete VRChat avatar project might look like.

If the example avatar loaded successfully, you can skip to step 6. If you'd rather import your own avatar, continue with step 3 below.

Step 3 - Get the model into your project

Now that you've set up the VRChat SDK, it's time to import your model into your project. If you're getting it from an asset store, then you can download and directly import it into your project. If you got the model from elsewhere, then you need to import it and any related textures into your 'Assets' folder.

If you are importing your model from a 3D editor, please ensure you keep in mind the difference between coordinate systems. For example, Blender's default coordinate and unit system differs from Unity's. You must export FBX files from Blender and define the exporter as such:

image

After you get the model in your assets, select it, you'll want to ensure it has the correct settings in the rig tab in the inspector. Make sure the Animation Type is set to Humanoid.

Step 4 - Get the model into a scene

Now that you have the model in your Assets folder, with the correct settings applied, you need to put it into a scene. To do so, either drag it into your Hierarchy or directly into the Scene View window. We recommend having one scene per avatar and placing it at the coordinates (0, 0, 0). If needed, rotate the avatar so it is standing up straight, and ensure that its size is what you expect. You can add a Cube to your scene to compare - the cube will be 1 meter on each side and your Avatar will best function between about 0.5-5m tall. The average person is around 1.65 meters tall.

Avatar Optimization

It is very important that your avatar is optimized so that you do not cause low FPS for yourself and others. The SDK will inform you if something looks wrong. Check out our Avatar Optimization Tips to check out methods to improve your avatar's Performance Rank.

Step 5 - Adding an Avatar Descriptor

The next step is to add a 'VRC Avatar Descriptor' component and prepare its settings.

  1. Select the avatar in your hierarchy.
  2. Click 'Add Component' in the inspector.
  3. Search for the 'VRC Avatar Descriptor' component and add it.
  4. Customize its settings, as explained below.

Add a VRC Avatar Descriptor to get started with your avatar.

View position

First, you'll want to set the view position. This will be where your camera will be positioned in VRChat. You can see a visual representation of it as a small white sphere in the scene.

If your avatar has a head, place the view position between the avatar's eyes. If your avatar's head is unusually large, its feet may lift off the ground when looking up and down. To avoid this, place the view position closer to where a regular-sized head would be.

If your avatar doesn't have a head, place the view position wherever you think it's appropriate.

Use the Avatar Descriptor to configure your avatar for VRChat. Make sure to adjust the view position!

Lip sync mode

When you talk, you can make your avatar's mouth (or anything else) react automatically. Open your VRC Avatar Descriptor and expand the LipSync dropdown. You can choose one of five lip sync modes:

Default

Pressing 'Auto Detect!' is usually enough to let your VRChat avatar react to your speech.

Press 'Auto Detect!' to let the VRChat SDK automatically detect the appropriate lip sync mode. The mode will then switch to one of the modes below.

Jaw Flap Bone

If your avatar uses a single bone to animate the jaw, you can specify it here. Your character's jaw will open depending on how loudly you speak in VRChat. Ensure you've configured the jaw bone in Unity's Humanoid rig for your avatar.

Blend shapes/shape keys (named depending on what software you're using) modify the mesh based on vertex positions. Many models use this for detailed animations for speaking. If your model has these, you should use them!

We use the Oculus Audio library to detect and set visemes. You can see a reference to what all the visemes should look like and what sound triggers them here.

VRChat can usually detect your avatar's visemes automatically. If not, you can choose visemes from the dropdown list.

The 'Viseme Blend Shape' mode is the most common method of making your character's face move when you speak.

SIL shape

Unity will delete shape keys/blend shapes that are empty on import, so make sure your "SIL" shape (the shape your mouth makes when no sound is detected, but the mic is active - such as the space between words) moves a single vertex a very small, imperceptible amount. This will prevent Unity from deleting that key.

Viseme Performance Tip!

If you're an avatar creator, consider splitting your avatar into two skinned meshes - one for your body, and one for your head/face. The performance cost of blend shapes depends on how much of your 3D model they affect. Keeping blend shapes on a separate head mesh and having fewer blend shapes on your body mesh may improve your avatar's performance.

Jaw Flap Blend Shape

If your avatar only uses a single blend shape to animate its mouth, configure it here. It will behave similarly to 'Jaw Flap Bone' by animating the jaw blend shape instead of a jaw bone.

Viseme Parameter Only

If you're an advanced creator, you can use this mode to control how your avatar reacts to speech with VRChat's built-in Animator Parameters.

Step 6 - Going to the build tab / Checking if the avatar is ok

Next, we'll want to check that everything is good in the build window. To do that, you'll need to use the menu item VRChat SDK > Show Control Panel, which will open up the VRChat SDK Control panel. After signing in, switch to the "Builder" tab to see the avatar's GameObject mentioned with a Build & Publish button below it. In between you will see settings, content tags, an 'Overall performance' rank, errors, and warnings.

The VRChat SDK build panel.

Simply follow the steps in VRChat's SDK build panel:

  • Give your avatar a name. You can add a description, too.
  • Make sure to tag your avatar with the appropriate content tags to comply with VRChat's content gating system.
  • Choose your avatar's visibility. Private avatars can can't be cloned or used by other VRChat users.
  • Select a thumbnail image. You can select an image or use a capture from your Unity scene.
  • Read the 'Validations' section. It contains many useful errors and warnings. For example, the SDK may warn you about your avatar having too many polygons, which you can fix by optimizing mesh(es). If you're unable to optimize the mesh, you may need to go back and choose another model.
  • When you're ready, continue building your avatar

Step 7 - Building and uploading the avatar!

Now everything is ready. Press the "Build & Publish" button, and the SDK will start building and uploading your avatar. Before uploading your avatar, you should double-check that it complies with VRChat's Terms of Service and Community Guidelines.

After uploading your avatar, it should be available in VRChat. You can also see your avatar in VRChat SDK > Show Control Panel > Content Manager.

You can also test your avatar without uploading it. To do this, click "Build & Test" instead. Your avatar will appear in the "Other" section of your VRChat Avatars menu. Test avatars can only be seen by you. In order for other players to see your avatar, you need to upload it.

Step 8 - Enjoy your avatar!

Congratulations on creating your first avatar! We hope everything went smoothly. If you need any help, consider visiting our Ask Forum or our Discord server.

Creating and uploading VRChat avatars can be fun and creatively fulfilling. If you'd like to improve your avatar creation skills, take a look at the rest of our Avatars documentation.

Learn more

If you'd like to become better at avatar creation, check out these pages: