Skip to content

05. Adding a Hair Style

Thomas "Tabski" Bartlett edited this page Dec 13, 2025 · 1 revision

This assumes you've set up a .blend file.

For hair, I use a technique of Nurbs paths->Geometry. If you don't know what that means yet, that's OK!

This time, let's start by making the assets

Copying an existing path

As always, it helps to start with an existing asset and modify it.

  • In your .blend file, go to File->Append
  • Double-click into the Yinglet-Hair.blend file
  • Click into the Object folder
  • Click Path_Hair_Kass_Front
  • Click Append
image image

Rename this hair, and edit it to your hearts content. If you've never worked with Nurbs paths before, you'll want to seek out a video on them.

I made this little star-shaped style: image

Well, at least it kind of looks star shaped from the top.

Converting it to a Mesh

We can't use this Nurbs path directly. Let's convert it:

  • Hit Space Bar
  • Type "Convert"
  • Click the "Convert->Mesh" option
image

While this conversion is mostly usable as-is, there's a few additional pieces of cleanup I usually do:

  • "Merge by distance" to bring the ends together
  • Tweak some UVs so things converge nicely
image

Rigging

We need this attached to the actual rig.

  • Right click your hair mesh
  • Shift right click the rig
  • Hit CTRL-P
  • Select "Armature Deform"
image
  • In the Data panel, add a new vertex group named face (case sensitive).
  • In Edit Mode, select all the vertices and click "Assign"
image

Your hair will now move with the head. You can verify this with pose mode:

2025-11-24.01-08-12.mp4

Note: I didn't mention it before, but you'll need to separate any Front hairs from Back hairs. I usually do them both together and then split them near the end.

Note: Not all hairstyles are equal. For example, the Vizlet / Lippie hairstyles did not involve Nurbs paths at all. Get creative.

Note: If you want the hair physics / length to work, you'll need to do some actual rigging. The process for this is kind of involved though. In short: you'll need to perform a bone weight transfer from the HairHelmet meshes in the Yinglet-Hair.blend file

And we're done setting up the mesh. Hit Export from the Scripting workspace.

You should now see the meshes in Unity:

image

Configuring in Unity

Just like with the Fur Patterns, we'll need to set up some Scriptable Objects:

  1. Copy in the Hair-Kass-Front CharacterToggleId and rename it
  2. On the CharacterToggleId, set a good Display Name
  3. On the CharacterToggleId, change the Order->Index to something much later
  4. On the CharacterToggleId, create a copy of the Added Mesh Reference MeshWithMaterial and assign it
  5. On the MeshWithMaterial, set the SkinnedMeshRendererPrefab to the relevant game object under your FBX asset
  • You can just drag-drop it on

Your assets should look like this:

image

And they should be configured like this: image

And repeat for the "Back" version.

Note: You may notice a HairShadow texture. This is a texture applied to the head material itself which helps ensure there aren't any abrupt transitions. You may want to try out some of the existing ones, or try to create your own similar to a fur pattern.

Note: You may notice the Component References contain an OffsetHatBone asset. As the name suggests, this will offset any hat-like assets by that amount. The poofier your hair, the larger this should be.

Note: You may want to add a DisableSlider-HairLength asset to your Component References, or else the slider will appear and not do anything.

And with that, we have a custom hair asset!

image

Clone this wiki locally