Skip to main content

Upload an Avatar to VRChat 2023

Sippbox created a video tutorial very similar to this one!

I apologize for the lack of pictures! This was originally written as a video tutorial script, and I didn't get around to recording the video for the tutorial! Because Sippbox beat me to it, I figured I would just post the script here!

Uploading an avatar isn’t as hard as you might think! This tutorial will cover the basics of uploading an avatar, including installing all the right tools!

But before I get into that, let me first go over the prerequisites!
You’ll need:

  1. A Windows PC
  2. A VRChat account (Not a Steam, Oculus or Viveport account! If you have 4 random letters and numbers after your name, then you don’t have a VRChat account! Log into VRChat's website to convert it to one!)
  3. And lastly, your VRChat account needs to be of at least New User ranking, the blue one! If you only have the Visitor rank,you can’t upload anything. Just spend more time in VRChat, make new friends, try not to get blocked and you will eventually get to New User rank.

After you’ve done all that you will then need to go to this link to download the VRChat Creator Companion! You may have to login to your VRChat account first; alternatively, you can use this link for a direct download. Open the exe and follow the installation instructions.

After it opens, if you don’t already have the correct Unity version installed it will offer to download it for you. Click the green button to install the correct version of Unity.

Once Unity is installed, in the Creator Companion, click New, Avatar, and you will be able to enter a project name and location. I recommend making a dedicated  folder for your VRChat Assets (I named mine VRChat Projects), and then a sub-folder to specifically store your Unity projects. I'd recommend putting it on your larger drive if you have multiple, because Unity projects can get pretty big!

After that’s done click Create and it will set up your new Unity project!

Click on the projects text on the left side, and under your new project click Open Project to open it!

Once Unity opens, you will be presented with a scene that looks like this, which is Unity’s default layout. 

Before we cover anything else, go up to the top row of options, VRChat SDK>Show Control Panel, and log in. If you can log in successfully then you should be good to go!

If you want to change the Unity editor to dark mode, you can go to Edit>Preferences>General>Editor Theme.

At the bottom of the screen should be the Project view, which shows all of the game assets in the project. 

I would recommend making separate Unity projects for each Avatar you plan to spend a significant amount of time working on; this way, if your Unity project breaks then you only lose the work of one avatar and can salvage what you can.
 
By the way, the creator companion lets you effortlessly backup your projects! Do it often, especially when you make significant changes!

You can rearrange these panels however you want. For the sake of conformity and ease of learning, I will be keeping the default layout for this series unless I explicitly open a new tab required for the lesson, which I will make clear. If you ever want to reset to the default layout, you can simply click the dropdown in the top right corner which should say Layout and select Default, or Window>Layouts>Default.

There are plenty of models you can download from sites like Booth and Gumroad, most of which are already set up for you. Here’s a link to a list of models that you can use for free!

To import new assets, drag it from Windows Explorer into the Unity Project view in the background. Do this for your Unity package that your avatar comes in!

For example, this unity package, Pumkin’s avatar tools, just go to this link here, go to releases, and download the unitypackage. Then in windows explorer, just drag it into the project view of the Unity editor! Then, a window should pop up with every file checked, just click import.

You can also import unity packages by going to Assets>Import custom Assets>Custom package.

If your avatar package comes with a scene with your avatar set up, then just use that. 
The avatar I am going to use for this tutorial is one that comes with the VRChat Avatar SDK. To get to it, scroll at the bottom left of the package manager, and under packages, click VRChat>Examples>Physbones and then the physbones example avatar scene.

Otherwise it might come with a prefab file, which has a blue box icon. You can just drag it into the scene, and it includes the avatar and all its Unity components set up. Use that if there isn’t a scene file included in your package.

If your model doesn’t come with a scene file, create a new Unity scene to store the model in by right clicking in the project view and going to Create>Scene. You can rename your files by clicking on them and pressing f2. Open the scene by double-clicking on it and drag the model from the project view into the scene view.

Unity scenes are like separate levels or worlds: we can create multiple different scenes in a single Unity project but not vice versa. Unity scenes can contain multiple different avatars and make it easy to create slight variations.

Many models that you will download in Unity packages will come with a Unity scene with the model already setup. In that case, much of the time all you will have to do is upload! However, because VRChat updates all the time, many of these packages are outdated and don’t come with the latest features, such as PhysBones or avatar 3.0 support. If your avatar does come with these features, then you can skip forward to this timestamp for uploading it. If not, or if it has errors that prevent it from uploading, you’ll have to follow a different tutorial I made  where I show how to set up an avatar for VRChat.

First we should get familiar with Unity’s interface. The largest and most prominent window is the scene view; this is a 3D view of your Unity scene. You can use the mouse wheel to zoom in and out. You can use the middle mouse button to pan (or press Q to use the left mouse button instead), and if you hold ALT and left click you can pivot. You can look around by holding the right mouse button and moving your mouse, and while holding, you can also navigate the scene by using the WASD keys, as well as E and Q for ascending and descending.

There should be two objects in the default scene. You can see them in the Hierarchy tab, which is on the left side of the screen by default. If you click on the Main Camera, it will highlight in the editor, a 3-axis gizmo will appear on the object in the scene tab, and information will appear in the rightmost tab, the Inspector. The inspector shows all the information of an object, and each collapsable section is called a component. Every object will have a transform component, which denotes its X Y and Z position, rotation and scale. If you edit the value in the Inspector, the object updates in the Scene view, and vice versa.

If your avatar package comes with a scene with your avatar set up, then just use that. Otherwise it might come with a prefab file, which you can just drag into the scene, and it includes the avatar and all its components set up. Use that if there isn’t a scene file included in your package. If neither of those are the case, you will have to watch this other tutorial I made.
If your avatar doesn’t come with either of those and only comes with an FBX file and textures, there are a few extra steps you have to follow, detailed in the next page.

To upload, go to VRChat SDK, Control panel. When the new window opens, click on the builder tab and click build and upload. After Unity finishes doing it’s thing you will see a view pop-up where you can enter your avatar’s details and hit upload!

But wait! Before hitting upload, you will see your avatar’s preview picture in this window. You can change that by clicking on the scene view tab at the top here, then click on the VRCCam and drag it around! If you look at the inspector on the right, you can change the properties of the camera, like the field of view or the background! Instead of showing the default skybox, you can make it a solid color background instead! I like to use the eyedropper tool on the avatar to get the color and then adjust from there!

Now go back into the game view by clicking the game tab at the top, and click upload! If everything works, then congratulations! You now have uploaded your first avatar to VRChat!

I also have plenty of world creation tutorials on my YouTube channel, click on this playlist if you want to start the course!

Here are some good free avatars you can upload yourself right now!
https://gitlab.com/s-ilent/SCSS/-/wikis/Other/Avatar-Models