How to Upload a VRChat Avatar with Creator Companion

A beginner-friendly walkthrough for uploading a ready-to-use VRChat avatar that you bought or downloaded from a creator marketplace such as Gumroad or Booth. Use the video for the upload demonstration, then follow the current Creator Companion upload flow and SDK Builder messages before uploading.

Recommended Setup

Use a clean Creator Companion avatar project, import dependencies before the avatar package, then publish only after the SDK Builder validation is understandable.

  1. Create or open an Avatars project through VRChat Creator Companion.
  2. Import shaders, tools, and package dependencies before importing the avatar.
  3. Confirm the avatar has a VRC Avatar Descriptor, then use Build & Test before publishing.
VRChat note

Keep the current Creator Companion project, supported Unity version, Avatar Descriptor, expressions, and performance rank visible while following the video.

Playlist Companion

Creator: Fuuujin
Watch on YouTube: https://www.youtube.com/watch?v=7sqnAbPxYnQ

Good Fit

Use this when you already have an avatar package and need to work through import order, descriptor checks, and SDK Builder warnings.

Before You Start

  • Confirm you are using the supported VRChat Unity version for the project.
  • Open the project through VRChat Creator Companion when possible.
  • Import the avatar creator's required shaders, SDK add-ons, or tools before the avatar package itself.
  • Check for red Console errors before assuming the tutorial step is the problem.
  • Make a backup or duplicate scene before changing assets, controllers, prefabs, or SDK settings.

Avatar Upload Readiness Checklist

Check What Good Looks Like Why It Matters
Creator Companion project The project is an Avatar project created or managed through VCC. Keeps the VRChat SDK packages and supported Unity version aligned.
Dependencies imported Required shaders, tools, and creator-provided dependencies are installed first. Prevents pink materials, missing scripts, and broken prefab references.
Avatar scene/prefab The avatar prefab is present in the scene and selected intentionally. Avoids uploading the wrong avatar or an incomplete prefab.
Avatar descriptor The root avatar object has a valid VRC Avatar Descriptor. The SDK needs the descriptor to identify eye view, playable layers, expressions, and upload settings.
Console state Red Console errors are fixed before opening the Builder. Compile errors can block SDK validation and make upload errors misleading.
Builder validation The SDK Builder warnings are understood before clicking publish. Validation explains performance, missing fields, and upload blockers.

Core Upload Flow

  1. Open the project from VRChat Creator Companion.
  2. Let Unity finish importing before clicking around the scene.
  3. Import the avatar creator's required dependencies.
  4. Import the avatar package.
  5. Open the avatar scene or drag the avatar prefab into a clean scene.
  6. Select the avatar root and confirm the VRC Avatar Descriptor exists.
  7. Open VRChat SDK -> Show Control Panel and sign in.
  8. Use the Builder tab to review validation messages.
  9. Use Build & Test when you want a private local check.
  10. Use Build & Publish only when the avatar looks correct and you have the rights to upload it.

Follow-Along Checks

  • Confirm the avatar has a valid VRC Avatar Descriptor before upload.
  • Set the view position carefully so your eyes line up correctly in VR.
  • Watch expression parameters, menus, PhysBones, contacts, constraints, and material count as separate budgets.
  • Use Build & Test or a limited upload before treating the avatar as finished.
  • Check the uploaded avatar in VRChat, not only in the Unity preview.

Common Upload Decisions

Decision Beginner Recommendation
Starting project Use a new VCC Avatar project unless the avatar creator says otherwise.
Import order Dependencies first, avatar package second, optional extras last.
Performance Fix obvious material, texture, PhysBone, and polygon issues before publishing widely.
Visibility Use a private upload while testing fit, viewpoint, gestures, and expressions.
Platform support Treat PC and Android/Quest as separate validation targets unless the package is designed for both.
Help! The video was made for an older SDK or Unity version.

Older tutorial UI labels can drift. Use the current SDK Builder messages and a private upload test before relying on the setup.

Help! The upload button is disabled.

Check that you are signed in to the SDK, the project is an Avatars SDK project, the avatar descriptor is present, there are no red Console errors, and the Builder validation panel is not reporting a blocking issue.

Help! The avatar has pink or broken materials.

Pink materials usually mean the shader dependency is missing, imported in the wrong order, or incompatible with the current render pipeline. Re-read the avatar creator's install notes and import the required shader package before reimporting the avatar.

Help! The result works in Unity but not in VRChat.

Test in a built VRChat instance. Runtime permissions, platform restrictions, performance fallback behavior, and SDK validation can change behavior that looks fine in the editor.

Help! I want to apply this to my main avatar project.

Rebuild the change in a small copy first, then move only the confirmed pieces into the production avatar. That keeps tutorial experiments from becoming permanent project clutter.

After Publishing

Open VRChat and confirm the avatar from the user-facing side:

  • The avatar appears in your avatar list or Content Manager.
  • Viewpoint height feels correct in desktop and VR.
  • Gestures, expressions, toggles, and menus behave as expected.
  • Materials and lighting look correct in a real world.
  • Performance rank is acceptable for how you plan to use the avatar.

If you are also uploading worlds, the world workflow is similar but uses a VRC Scene Descriptor instead of an avatar descriptor. See How to Upload a World in VRChat for the paired guide.

Official References

Related Docs

Topics: avatars, creator-companion, beginner, uploading