MetaHuman Collection assets are available in Unreal Engine 5.8 as an Experimental feature and are still in active development.
A MetaHuman Collection asset is a container for all the modular parts that can be used to assemble a MetaHuman. Each part is a Wardrobe Item assigned to a Slot defined by the Collection's Pipeline.
Collections work alongside MetaHuman Instances asset to give you a non-destructive, pipeline-driven approach to assembling MetaHumans as an alternative to using the Assemble button in MetaHuman Creator.
Create a MetaHuman Collection
To create a new MetaHuman Collection, right-click in the Content Browser, navigate to the MetaHuman category, and select MetaHuman Collection. The new asset opens in the Collection Editor.
The Collection Editor
The Collection Editor is a dedicated asset editor with four main areas:
| Area | Purpose |
|---|---|
Items | A tile view of all items in the Collection, organized by slot. Each tile shows a thumbnail and is color-coded by slot. Filter buttons along the top let you show items from a specific slot or all slots at once. |
Viewport | A 3D preview of the assembled MetaHuman. This updates as you make changes so you can see the result in real time. |
Item Details | Build parameters for the currently selected item. Visible only when editing a Collection, not an Instance. |
Item Instance Parameters | Instance parameter overrides for the selected item, such as hair color or material tints. |
Details | Standard Details panel showing the Collection's properties, including the assigned Pipeline. |
Add Items to a Collection
Drag assets from the Content Browser into the Items panel to add items to a Collection. The editor checks whether the dragged asset is compatible with any of the Collection's pipeline slots. For example, if the pipeline has a Hair slot that accepts Groom Binding assets, dragging in a Groom Binding asset adds it to that slot.
If the asset is compatible with more than one slot, a drop zone overlay appears so you can choose which slot to assign it to.
Select Items
Double-click an item tile to select it for the current Instance. The selected item's thumbnail is highlighted, and the 3D preview updates to show the result.
Items that are incompatible with the current selection as determined by the pipeline's rules appear dimmed and cannot be selected. For example, a pipeline might prevent you from selecting a head that does not fit the currently selected body.
Each single-selection slot (such as a Hair or Top Garment slot) can have one active item at a time. Pipelines can also define slots that support multiple simultaneous selections for example, to wear multiple clothing items at once.
Build a Collection
Building a Collection runs the pipeline's build logic on every item, generating the meshes, textures, and other assets needed to assemble any combination of those items at runtime. There are two build quality levels:
| Quality | Purpose |
|---|---|
Preview | Fast builds for iteration. Used automatically in the editor as you make changes. |
Production | Full-quality builds. Triggered when you click Apply with unapplied Collection edits, or explicitly using the Rebuild toolbar button. |
The toolbar includes several options to control build behavior:
| Option | Description |
|---|---|
Apply | Commits changes from the editor to the asset and triggers a Production build if the Collection has changed. |
Rebuild | Forces a full Production rebuild of the Collection. Use this if a source asset has changed since the last build. |
Auto Build Preview | When on, the Collection automatically rebuilds in Preview quality whenever you make an edit. Turn this off while making many changes at once. |
Build All Items On Edit | When on, all items are built during Preview so you can switch between items without waiting. When off, only the currently selected items are built, which is faster for large Collections. |
For large Collections, turn off Auto Build Preview and Build All Items On Edit while doing bulk edits, then run Apply when you are ready to review results.
Generated Assets
When a Collection is built, the generated assets such as meshes, textures, and materials are stored inside the Collection asset itself. This prevents you from accidentally editing generated assets, since those edits would be lost on the next Collection build.
If you need to inspect generated assets for debugging, right-click the Collection in the Content Browser and select Unpack Assets. This unpacks the generated assets from the Collection into the project so they are visible in the Content Browser.
Unpacked assets are not copies. They are the same assets referenced by the Collection and used in assembly. Any edits you make to them affect MetaHumans assembled from that Collection, but those edits are lost the next time the Collection is built. Modifications to generated assets should be made through the pipeline, not manually.
Slots
The slots available in a Collection depend entirely on the Pipeline assigned to it. Pipelines define their own set of slots, each with a name, accepted asset types, and processing logic. Common examples include:
| Slot | Accepted Asset Types | Description |
|---|---|---|
Character |
| The base MetaHuman Character asset providing the face and body. |
Hair |
| Head hair groom. |
Eyebrows |
| Eyebrow groom. |
Top Garment |
| Upper body clothing. |
Bottom Garment |
| Lower body clothing. |
These are examples only. When you create a custom pipeline, you choose exactly which slots to expose and what asset types they accept. A pipeline can include slots for tattoos, particle effects, static mesh accessories, or any other content your project requires.
Virtual Slots
Pipelines can define virtual slots: slots that appear in the UI as separate categories but feed into a shared slot internally. This is useful because:
The pipeline can process certain assets as a group. For example, if the top garment, bottom garment, and shoes all use the same assembly logic, they can be handled as an array of clothing items rather than three separate named slots.
The user gets discrete, single-select slots in the UI. When they choose a new top garment, any existing top garment is automatically deselected.
Adding a new clothing slot that reuses the same processing logic requires only a new virtual slot pointing to the main clothing slot with no new logic is required.
MetaHuman Collection Pipeline
The Pipeline drives the Collection system. It defines two things:
What slots are available - the named categories of items a Collection can contain, and what asset types each slot accepts.
How items are processed - the build logic (generating game-ready assets from source assets) and assembly logic (composing built assets into a renderable character).
Every Collection has a Pipeline assigned to it. You can see and change the Pipeline in the Collection's Details panel. Pipelines are defined in C++.
How Build and Assembly Work
The Pipeline's work happens in two distinct phases:
Build runs in the editor. It processes each item in the Collection through its item pipeline. This is where asset generation happens: creating meshes, baking textures, and generating LODs. The result is stored as built data on the Collection.
Assembly runs whenever an Instance needs to produce a renderable character: in the editor preview, when placing an Instance in a level, or at runtime. Assembly takes the built data and the Instance's slot selections, and composes them into the final output such as the face mesh, body mesh, grooms, clothing, and any other elements the pipeline produces.
Build is resource-intensive and runs once in the editor. Assembly is fast enough to run on demand at runtime, which makes runtime character customization and procedural populations practical.
What a Pipeline Can Do
A pipeline's item processing logic can perform any operation you can express in C++. Examples of what a pipeline's build and assembly steps might handle:
Resizing Chaos Outfit assets to fit a character's body.
Converting a groom's card meshes to skeletal mesh for use with the Instanced Skinned Mesh Component.
Removing body geometry hidden under clothing.
Baking complex materials to textures for improved runtime performance.
Attaching static mesh accessories to sockets.
Create a Custom Pipeline
Pipelines are created by subclassing UMetaHumanCollectionPipeline in C++. In your subclass, you define:
Slots - each with a name, accepted asset types, UI color, and a mapping that describes how the slot's output feeds into the pipeline's overall assembly output.
Item pipelines - subclasses of
UMetaHumanItemPipelinethat contain the build and assembly logic for each type of item your pipeline supports.An assembly output struct - a custom struct with fields for each type of output your pipeline produces.
For example, to add a Tattoo slot that accepts texture assets:
Create a
UMyProjectPipelinesubclass ofUMetaHumanCollectionPipeline.In the constructor, add a slot entry to the pipeline specification with
SupportedPrincipalAssetTypesset to your tattoo asset class.Create a
UMyTattooItemPipelinesubclass ofUMetaHumanItemPipelinethat implementsBuildItem()andAssembleItem()for tattoo processing.Assign your pipeline class to a Collection.
In Unreal Engine 5.8, MetaHuman Creator does not support custom pipelines. Custom pipelines can be used in the MetaHuman Collection Editor.
Pipeline Slot Properties
Each slot in a pipeline has the following properties:
| Property | Description |
|---|---|
Supported Asset Types | The classes of assets this slot accepts for example, |
Assembly Output Mapping | How the slot's assembled output maps onto the pipeline's overall assembly output struct. Declaring this mapping reduces the amount of boilerplate code needed in the pipeline class. |
Allows Multiple Selection | Whether more than one item can be active in this slot at the same time. |
Visible To User | Whether the slot appears in the Collection Editor UI. |
Slot Color | The color used to identify this slot in the UI, shown as a color band on item thumbnails. |
Target Slot (virtual slots only) | If set, this slot is virtual: selections are forwarded to the target slot. |
Item Pipelines
Each slot's items are processed by an Item Pipeline, a C++ class that knows how to build and assemble a particular type of asset. For example, an item pipeline for Groom assets processes strand data and applies hair material parameters during the build step, then attaches the result to the character's head during assembly.
Asset-type-specific logic is reusable across Collection Pipelines. You can also define your own Item Pipelines to use within existing Collection Pipelines, as long as your Item Pipeline implements the interface declared in the Collection Pipeline's specification.
Each Wardrobe Item in a Collection can have an explicit Item Pipeline assigned. If it does not, the Collection Pipeline provides a fallback based on the asset type.
When creating a custom pipeline, you write your own Item Pipeline subclasses to handle the asset types your project needs. The BuildItem() method runs during the Collection build to generate assets. The AssembleItem() method runs during Instance assembly to compose the result into the final character.