The basic process: where hair files go and what format they need

To add custom hair to a VRChat avatar, you need three things: a hair model file in the right format, the Unity editor with VRChat's SDK installed on your computer, and the avatar project file itself. The hair model usually comes as an FBX file (a 3D model format) that you place inside your avatar's project folder, then link it to your avatar in Unity before uploading to VRChat.

Most custom hair is shared as either a complete FBX file or as a folder containing the model, textures, and materials. You'll download these from sites like Gumroad, VRCArena, or VRChat community Discord servers. The file size matters — hair with high polygon counts or large textures can slow down your avatar and make it harder for other players to load you in crowded worlds.

The actual import happens in Unity, not in VRChat itself. You cannot add hair directly through the VRChat app. You have to modify the avatar in Unity, test it there, then upload the changed version back to VRChat as a new avatar or a new version of an existing one.

Key Takeaways

  • Hair models come as FBX files that you download and place in your avatar's Unity project folder.
  • You import the hair in Unity using the VRChat SDK, not in the VRChat app itself.
  • The hair needs to be parented to the avatar's head bone so it moves with your head in-game.
  • You upload the modified avatar as a new version through Unity before you can see it in VRChat.
  • High-polygon hair or large texture files can make your avatar slower to load for other players.

Setting up your avatar project in Unity with the VRChat SDK

Before you can import hair, you need Unity installed with the VRChat SDK. Download Unity Hub from unity.com, then install Unity version 2019 LTS (the version VRChat officially supports — newer versions may cause problems). Open Unity Hub, create a new 3D project, and save it somewhere you can find it easily.

Next, download the VRChat SDK from the VRChat website's developer section. Import it into your Unity project by going to Assets > Import Package > Custom Package, then selecting the SDK file. Unity will unpack the SDK files into your project. You should see a VRChat menu appear in the top menu bar once the import finishes.

If you already have your avatar in Unity, open that project instead. If you're starting from scratch, you'll need the base avatar model (usually an FBX file from a creator like Rexo, Manuka, or another avatar base). Import that base avatar the same way: drag the FBX file into your Assets folder or use Assets > Import New Asset.

Downloading and organizing the hair file in your project

Find the hair you want on a community site or from a creator. Most hair comes as a ZIP file containing the FBX model, textures (usually PNG or TGA files), and a materials folder. Download the ZIP and extract it to a folder on your computer.

Open your avatar project folder in Windows Explorer or Finder. Create a new folder inside Assets called "Hair" or "CustomHair". Drag the extracted hair files into this folder. The structure should look like: Assets > Hair > [hair name] > model.fbx, textures folder, materials folder. Unity will automatically detect the files and create material links.

Check that all the texture files came through. If textures are missing, the hair will appear white or gray in Unity. Look in the hair folder for any PNG or TGA files and make sure they're in the same folder as the FBX. If a texture is missing from the download, you may need to contact the creator or find an alternative hair model.

Parenting the hair to your avatar's head bone

In Unity, open your avatar in the Scene view. You should see the avatar model displayed. In the Hierarchy panel on the left, expand your avatar by clicking the arrow next to its name. Keep expanding until you see the bones — look for "Armature" or "Skeleton", then expand that to find "Head" or "Head.001".

Drag the hair FBX file from your Assets folder into the Scene. Position it roughly where it should sit on the avatar's head. Then, in the Hierarchy, drag the hair object onto the Head bone. This parents the hair to the head, so it moves and rotates with your avatar's head in-game.

Check the hair's position and rotation. If it's tilted or floating, select the hair in the Hierarchy and adjust its Position and Rotation values in the Inspector panel on the right. The hair should sit naturally on the head without clipping through the scalp. Small adjustments to the Y position (up and down) usually fix floating hair.

Checking materials and textures before upload

Select the hair object in the Hierarchy. In the Inspector, look for the Mesh Renderer component. Click the arrow next to "Materials" to see what materials are assigned. Each material should show a thumbnail of the texture. If a material shows a pink or white square instead of a texture, the texture file is missing or the material is broken.

If textures are missing, find the texture files in your Assets > Hair folder. Select the broken material and drag the correct texture into the "Base Map" or "Albedo" slot in the Inspector. For hair, you usually only need the color texture (Albedo). Some hair includes normal maps or other advanced textures — these are optional but can make the hair look more detailed.

Test how the hair looks in the Scene view. Switch to the Game view (press Play) to see how it renders in real-time. If the hair looks wrong — too dark, too bright, or the wrong color — the material settings may need adjustment. Most hair uses the Standard shader; if it's using a different shader, you may need to reassign it.

Uploading your modified avatar to VRChat

Once the hair looks right in Unity, you're ready to upload. In the top menu, go to VRChat SDK > Show Control Panel. A panel will open on the right side of the screen. Make sure you're logged in with your VRChat account (you'll see your username at the top).

Select your avatar in the Hierarchy. In the VRChat Control Panel, click "Build & Publish". Unity will check your avatar for problems. If there are errors, fix them (usually missing scripts or broken references) and try again. If the build succeeds, you'll see an upload dialog. Choose whether to create a new avatar or update an existing one. Give it a name if it's new, then click Upload.

The upload takes a few minutes depending on file size. Once it finishes, launch VRChat and select your avatar from the avatar menu. The hair should appear on your avatar in-game. If it doesn't show up, restart VRChat or wait a few minutes for the cache to update. If the hair is invisible or broken, go back to Unity and check that the materials and textures are still assigned correctly.

Fixing common problems with imported hair

Hair that clips through the head usually means the position is wrong. Select the hair in the Hierarchy and adjust the Y position (up and down) in the Inspector until it sits on top of the scalp instead of inside it. A small adjustment of 0.01 to 0.05 units often fixes this.

Hair that appears white or gray in-game means the textures didn't upload with the avatar. Check that all texture files are in your Assets folder and that the materials are assigned correctly in the Inspector. Rebuild and re-upload the avatar.

Hair that looks pixelated or blurry usually means the texture resolution is too low or the texture file is corrupted. Try downloading the hair again or finding an alternative version. Some creators offer multiple quality levels.

If the hair doesn't move with your head, it wasn't parented correctly to the Head bone. Select the hair in the Hierarchy, drag it onto the Head bone again, and make sure it's indented under the Head in the hierarchy tree. Re-upload after fixing.

Frequently Asked Questions

Can I use hair from any website, or does it have to be from a specific creator?

Hair from any creator works as long as it's in FBX format and you have permission to use it. Most hair on VRChat community sites is free or paid, and the creator's terms usually allow personal use. Check the download page for any restrictions before using someone else's hair on your avatar.

What if the hair file is too large and slows down my avatar?

High-polygon hair or large textures make avatars slower to load. You can reduce file size by using a lower-resolution texture (512x512 instead of 2048x2048) or finding a simpler hair model. Some creators offer "optimized" versions of popular hair styles. Ask in VRChat community Discord servers for recommendations.

Do I need to know how to model or rig hair myself?

No. You're only importing pre-made hair that someone else created. You don't need modeling skills — just the ability to move files around in folders and click buttons in Unity. If you want to create your own hair from scratch, that requires 3D modeling software like Blender, which is a separate skill.

Will my hair look the same to other players as it does to me?

Yes, as long as they can load your avatar. If your avatar is too large or complex, some players may see a placeholder avatar instead. Keep your total avatar file size under 50 MB to avoid this. The hair textures and model will look the same to everyone who sees your full avatar.

Can I use the same hair on multiple avatars?

Yes. Once you've imported the hair into your project folder, you can parent it to any avatar in that project. You can also copy the hair folder to other avatar projects. Just make sure the head bone names are similar across avatars, or you may need to re-parent the hair each time.