Welcome back! Now that you’ve attached PixelHair to your character or MetaHuman, it’s time to focus on exporting the hair to Unreal. Along the way, there will be some key details to keep in mind, so pay close attention to ensure a smooth transfer.
Applying the Shrinkwrap Modifier
As you know, the hair mesh tightly conforms to your character or MetaHuman’s head due to the shrinkwrap modifier. This is our starting point before exporting.
To lock the hair mesh in place, we need to apply the shrinkwrap modifier so that its default shape becomes the shape of your character’s head.
How to Apply the Shrinkwrap Modifier:
- Open the Modifiers Panel in Blender.
- Locate the Shrinkwrap Modifier in the list.
- Click on the small downward arrow on the right.
- Select “Apply” to finalize the hair’s shape.

Preparing PixelHair for Export to Unreal
Now that the PixelHair/hair mesh is shaped to your character or MetaHuman’s head, we’re ready to export it to Unreal.
However, there’s an important distinction to keep in mind:
- Blender Particle Hair System grows from a mesh (it needs an emitter).
- Unreal’s Groom System treats hair as a separate asset, independent of a mesh.
Since Unreal doesn’t require a mesh for hair, we need to ensure Blender exports only the hair, not the underlying mesh. Here’s how to do that:
Hiding the Mesh Before Export
- Open the Particle Settings in Blender.
- Select any Hair Particle System (it doesn’t matter which one).
- Locate the “Viewport Display” section.
- Find the setting called “Show Emitter” and uncheck it.
Once unchecked, the mesh will become invisible in the viewport, leaving only the hair strands visible. This tells Blender to ignore the mesh during export, ensuring that only the hair itself gets transferred to Unreal Engine.

Exporting PixelHair as an Alembic File (ABC) for Unreal
If you’ve followed this tutorial closely, you’ll remember that importing and exporting 3D meshes is usually done using formats like FBX or OBJ.
However, PixelHair and 3D hair exports work differently. Instead of FBX/OBJ, we’ll use Alembic (.ABC), a format specifically designed for handling hair simulations and strand-based assets between software.
Luckily, both Blender and Unreal Engine support Alembic, making this the best method for transferring PixelHair.
How to Export PixelHair as Alembic (.ABC) in Blender
- Select only the PixelHair/Hair System. Make sure your MetaHuman or character mesh is NOT selected, only the hair should be exported.
- Go to File in the top-left corner of Blender.
- Navigate to Export > Alembic (.abc).
- Choose a File Destination & Name. A popup window will appear, allowing you to set the file name and destination folder.
- But don’t click ‘Export’ yet! We need to adjust some important settings first.
Below, you’ll find the settings which I use, apply this to your Blender export settings.

Saving Export Settings as a Preset (Optional but Highly Recommended)
Before hitting “Export”, there’s one more step that can save you time especially if you’ll be exporting PixelHair frequently.
I’m pretty lazy, so this helps a lot. But if you’re so hardworking, feel free to skip this.
How to Save Your Export Settings as a Preset
- Look at the top-right corner of the export window (above the export settings).
- You’ll find a box labeled “Operator Presets” with a plus (+) and minus (-) sign beside it.
- Click the plus (+) icon to create a new preset.
- A small popup will appear with a slot for a name and an OK button.
- Type in a name (e.g., “Unreal PixelHair Export”).
- Click OK to save it.
Now, whenever you need to export PixelHair, just go to Operator Presets, select your saved setting, and Blender will automatically fill in all the correct export settings for you. No need to set them manually every time!

Importing PixelHair into Unreal Engine
Now that you’ve saved your export settings, go ahead and hit ‘Export’.
With the export complete, it’s time to switch back to Unreal for the final steps.
Organizing Your Project (Optional but Recommended)
Before importing, consider creating a new folder in the Content Browser to keep your project organized. This will make it easier to manage assets later.
- If you want to stay organized, create a folder (e.g., “PixelHair“ or “Hair_Groom”).
- If not, simply navigate to the desired location in the Content Browser.
Importing the Alembic File
- Locate your Alembic (.ABC) file in your file explorer.
- Drag and drop the Alembic file into Unreal’s Content Browser.
Unreal’s Import Window
If everything was exported correctly from Blender, a new import window will appear.

As you can see in the image, I’ve highlighted an error message that might appear during import. This error won’t show up for most users, but if you do encounter it, I’ll explain why it happens and how to fix it.
- If you’re interested in understanding the cause, stick around.
- If you just want the fix, skip ahead.
- If you don’t have this issue at all, feel free to move on to the next section.
Understanding the Error: Hair Flexibility Differences Between Blender & Unreal
This error message is not related to your export process or the PixelHair/hair itself. Instead, it stems from a key difference in how Blender and Unreal handle hair flexibility.
How Hair Flexibility Works in Blender
In Blender, strand steps determine how flexible a hair strand is by creating bendable points along its length.
Think of it like a necklace chain:
- Imagine two chains of the same length.
- One has fewer metal links, while the other has more links.
- The chain with fewer links won’t be as flexible, while the one with more links can bend and form curves more easily.
Hair strands work the same way. The metal parts in a chain are like the bendable points in Blender’s strand steps. More points = more flexibility.
How Strand Steps Multiply Hair Flexibility
Each time you increase the strand steps in Blender, the number of bendable points doubles.
For example:
- Strand Steps = 7 → 2⁷ (2×2×2×2×2×2×2) = 128 points
- Very flexible—great for curls, dreadlocks, braids, etc.
- Strand Steps = 4 → 2⁴ (2×2×2×2) = 16 points
- Less flexible—better for straight or rigid styles.
From this, you can see that a hair strand with 7 strand steps (128 points) is way more flexible than one with 4 strand steps (16 points).

Why is This important and How does it Cause an Error in Unreal
Now that you understand how strand steps work in Blender, let’s compare that to Unreal Engine.
When you import an Alembic (.ABC) file into Unreal, the engine doesn’t interpret the hair as strand steps like Blender does. Instead, it calculates the total number of points per strand.
Here’s the issue:
Unreal has a strict limit of 255 points per hair strand.
Unfortunately, we can’t override this limit, so every hairstyle must have a maximum of 7 strand steps in Blender to remain compatible with Unreal.
Strand Steps vs. Unreal’s Limit
- 7 Strand Steps → 128 points (Safe for Unreal)
- 8 Strand Steps → 256 points (Exceeds Unreal’s limit by 1 point!)
Since the hair you’re importing exceeds this limit, let’s see what Unreal does if you ignore the error before we fix it.
What Happens If You Ignore the Error?
- Click “Import” and ignore the warning message.
- Once imported, double-click on the Groom asset in Unreal.
- A new window will open, showing the imported PixelHair/hair along with its settings.
- Look closely at the hair—you’ll notice that a significant part is missing.
Why?
Unreal only imports the first 255 points per strand and discards anything beyond that. This is why large portions of the hair vanish if you import a groom with too many strand steps.Fixing the Issue
To avoid Unreal cutting off parts of the hair, we need to adjust the strand steps in Blender before exporting.

Fixing the Unreal Hair Import Issue: Reducing Strand Steps in Blender
To resolve this issue, we need to go back to Blender and re-export the Alembic file with fewer than 255 points per strand.
Step 1: Reducing Strand Steps in Blender
Since strand steps determine the number of bendable points along a hair strand, the only way to reduce points is by lowering the strand steps setting.
How to Adjust Strand Steps:
- Open Blender and go to the Hair Particle System settings.
- Locate the Strand Steps option.
- Ensure that all hair systems have a maximum of 7 strand steps.
- 7 strand steps = 128 points per strand (Safe for Unreal)
Step 2: Handling Visual Changes After Reducing Strand Steps
For most hairstyles, this change will work fine. However, for certain styles like dreads, braids, or curly hair reducing strand steps can affect the look of the hair.
- If the change is minimal or barely noticeable, go ahead and export to Unreal as usual.
- If the hair looks too different, you can make some adjustments to compensate:
Compensating for the Loss of Detail:
Increase Hair Shape – Slightly thicken the hair strands to maintain volume.
Adjust the Kink Type (For Dreads & Braids) –
- Go to Children Settings in the Hair Particle System.
- Change Kink Type from Curl → Braid.
- This will create a rougher, flatter version of the dreads, which compensates for the lower resolution caused by reducing strand steps.
Once you’ve adjusted the settings, proceed with exporting the Alembic file again.
Step 3: Re-Importing the Hair into Unreal
After exporting, follow the same import process in Unreal Engine as before.
This time, you shouldn’t see the error, and all of the PixelHair strands should be properly imported.
I’ll meet you in Unreal after importing the hair for the final setup
al and attach the PixelHair/hair to the character!