How to Add a Non‑MetaHuman Player Skin
In this guide you will add a new non‑MetaHuman player skin (UE4/UE5-style character) fully integrated with the wardrobe, save system, and runtime character customization. This guide does not cover detailed Mutable setup; that will be described in a separate how‑to.
Prerequisites
Before you start, make sure that:
- Your character meshes are imported into the project:
- Body skeletal mesh (UE4/UE5 skeleton or compatible custom skeleton).
- Optional head skeletal mesh if you want a separate head actor.
- The project’s character customization system is configured:
BP_CharacterSkinComponentis present on the player character.DA_CharacterSkinsContainerexists and is referenced by the wardrobe UI.
- The CharacterAssistant Editor Utility Widget is available and
working:
- You can open it from the editor (for example, via the Tools or Window menu, depending on your setup).
Step 1 – Prepare Meshes and Icon
- Import or verify skeletal meshes
- Ensure the body skeletal mesh is correctly skinned to the UE4/UE5 skeleton (or to a skeleton you intend to retarget to the project skeleton).
- If you want a separate head, ensure the head skeletal mesh is imported and compatible with the body in terms of proportions and origin.
- Create or select an icon texture
- Prepare a square Texture2D to be used as the wardrobe icon for the new skin.
- If the texture uses transparency (alpha), make sure the alpha channel is correctly authored (for example, character silhouette on a transparent background).
- Select assets in the Content Browser
- In the Content Browser, select:
- The body skeletal mesh.
- The head skeletal mesh (if needed).
- The icon texture.
- In the Content Browser, select:
You will assign these selections in CharacterAssistant via the “Use Selected Asset” picker buttons.
Step 2 – Open CharacterAssistant and Select Non‑MetaHuman Mode
- Open CharacterAssistant
- Open the CharacterAssistant Editor Utility Widget from the editor menu.
- Dock it where convenient for repeated use.
- Switch to non‑MetaHuman mode
- Turn off the
Metahumansswitch to enter non‑MetaHuman mode. - Confirm that non‑MetaHuman-specific fields are visible:
Generated for AI,UseMutablePlugin,HeadActor,Skeleton,Head,Body.
- Turn off the
- Set
Generated for AI- For a player skin, disable
Generated for AIso the skin is added to the player skin container (DA_CharacterSkinsContainer), not the AI container.
- For a player skin, disable
- Choose skeleton type
- In the
Skeletondropdown, select the appropriate skeleton type:UE4if your meshes are bound to the UE4 mannequin skeleton.UE5if your meshes are bound to the UE5 mannequin skeleton.MetaHumanonly if you explicitly need to retarget to the MetaHuman skeleton (rare for non‑MetaHuman skins).
- In the
This parameter controls how CharacterAssistant will replace the skeleton on your meshes so they use the project’s standard sockets and animation setup.
Step 3 – Choose Single Mesh vs Separate Head
- Decide on the head setup
- Use a single-mesh skin if your character uses one skeletal mesh that contains both body and head.
- Use a separate head skin if you want:
- To reuse head assets across multiple bodies, or
- To drive face animations through a dedicated
BP_FaceComponentorBP_Face_Mutableactor.
- Configure
HeadActor- For a single‑mesh skin:
- Set
HeadActor = false. - You will assign only the body mesh (which includes both body and head).
- Set
- For a separate head skin:
- Set
HeadActor = true. - You will assign both
HeadandBodymeshes, and CharacterAssistant will create a head actor asset.
- Set
- For a single‑mesh skin:
- Assign body and head meshes
- With
HeadActor = false(single mesh):- Select your combined body+head mesh in the Content Browser.
- Click the picker button next to
Bodyto assign the selected mesh.
- With
HeadActor = true(separate head):- Select the head skeletal mesh in the Content Browser and use the
picker next to
Head. - Select the body skeletal mesh and use the picker next to
Body.
- Select the head skeletal mesh in the Content Browser and use the
picker next to
- With
CharacterAssistant will later retarget these meshes to the project’s character skeleton so all standard sockets are available.
Step 4 – Fill Shared Skin Metadata
- Name
- Enter a descriptive
Namefor the skin (for example,Desert Soldier). - This name will be used as a basis for asset names and as the display name in UI.
- Enter a descriptive
- ShortName
- Provide a shorter version for compact UI (for example,
DesertSoldierorD-Soldier).
- Provide a shorter version for compact UI (for example,
- Abbreviation
- Enter a very short code (for example,
DSOL) to be used in debug views or as part of naming conventions.
- Enter a very short code (for example,
- Description
- Write a brief description that explains the skin (for example,
Light desert camo suit with tactical vest).
- Write a brief description that explains the skin (for example,
- Icon
- Select the icon texture in the Content Browser.
- Click the picker button next to the
Iconfield to assign it.
- UseSimpleTexture
- If your icon is a simple opaque texture, keep
UseSimpleTexture = true. - If your icon uses transparency (alpha), you can:
- Leave
UseSimpleTexture = trueif the standard pipeline renders it correctly, or - Set
UseSimpleTexture = falseto use a special material that treats the alpha channel as an opacity mask.
- Leave
- If your icon is a simple opaque texture, keep
Step 5 – Optionally Enable Mutable Support
If you want this skin to use the Mutable plugin for runtime customization, you can enable it now. Detailed Mutable asset configuration will be covered in a dedicated how‑to.
- Enable or skip
UseMutablePlugin- To prepare a Mutable‑ready skin:
- Set
UseMutablePlugin = true. - CharacterAssistant will create a new
UCustomizableObjectasset by duplicatingCO_Example, in addition to the standard skin assets.
- Set
- If you do not plan to configure Mutable yet:
- Leave
UseMutablePlugin = false. - You can still add Mutable integration later by configuring a
UCustomizableObjectmanually.
- Leave
- To prepare a Mutable‑ready skin:
- Important note about Mutable
- CharacterAssistant does not configure parameters
inside the
UCustomizableObject. - Full Mutable configuration (binding meshes, parameters, and
materials) will be described in:
docs/how-to/characters/how-to-configure-mutable-skin-asset.md(planned).
- CharacterAssistant does not configure parameters
inside the
Step 6 – Generate the Skin Assets
- Verify all fields
- Non‑MetaHuman mode is active (
Metahumansoff). Generated for AIis disabled (player skin).HeadActor,Skeleton,Body(andHeadfor separate head) are correctly set.- Shared metadata fields (
Name,ShortName,Abbreviation,Description,Icon) are filled. UseMutablePluginis set according to your needs.
- Non‑MetaHuman mode is active (
- Click Generate
- Press the main Generate button in CharacterAssistant.
- What happens on Generate
- A
BP_ItemDataasset for the skin is created or updated. - An inventory entry corresponding to this item is created in the item data (if it did not exist yet).
- A skin DataAsset of the appropriate class is created:
- Single-mesh player skin →
BP_PlayerSingleMeshSkin. - Separate-head player skin →
BP_PlayerSeparatedMeshSkin.
- Single-mesh player skin →
- If
HeadActor = true, a new head actor asset (based onBP_FaceComponent/BP_Face_Mutable) is created for the head. - If
UseMutablePlugin = true, a newUCustomizableObjectis created fromCO_Example(without detailed configuration). - The skin’s
BP_ItemDatais added toDA_CharacterSkinsContainer.Skinsso the wardrobe can discover it. - The body (and head) meshes are retargeted to the selected project skeleton so they use the standard sockets.
- A
The widget does not provide validation or error reporting, so it is important to inspect the generated assets afterward.
Step 7 – Configure Materials for Stealth and Opacity (Manual)
For non‑MetaHuman skins, material optimization and support for stealth/opacity are not configured automatically. If you want the skin to participate in opacity-based effects (for example, stealth mode), you must adjust materials manually.
- Open the master material used by the new skin
- Find the master material used by the body (and head) meshes for this skin.
- Open it in the Material Editor.
- Connect
MF_Mannequin_OpacityMask- Add the function
MF_Mannequin_OpacityMaskto the material graph. - Connect its output to the material’s
OpacityMaskinput.
- Add the function
- Set Blend Mode to Masked
- If the
OpacityMaskpin is not available (for example, current blend mode is Opaque), change the material’sBlend ModetoMasked. - Apply and save the material.
- If the
- Verify the skin in-game
- In-game, trigger an effect that uses opacity (for example, a stealth mode where the player becomes semi-transparent).
- Confirm that the character’s body and head respect the opacity mask and fade as expected.
Repeat this process for all master materials used by the new skin.
Step 8 – Test the Skin In-Game
- Start a test session
- Launch the game in PIE or Standalone mode.
- Open the wardrobe / customization UI
- Go to a wardrobe station (for example, interact with
BP_EquipmentPoint) or open the pre‑game wardrobe menu.
- Go to a wardrobe station (for example, interact with
- Verify the skin appears
- The new skin should appear in the list of available skins, with the
NameandIconyou configured. - If the skin does not appear:
- Check
DA_CharacterSkinsContainerto confirm it contains a reference to yourBP_ItemData. - Make sure
Generated for AIwas disabled when you generated the skin.
- Check
- The new skin should appear in the list of available skins, with the
- Equip the skin
- Select the skin and press Apply.
- Verify that:
- The correct body (and head) meshes are used.
- Animations work correctly (no missing bones).
- Weapons and equipment attach correctly to sockets.
- Test save/load
- Save the game, then reload.
- Confirm that the selected skin (and any future Mutable customization) is restored correctly.
Summary Checklist
Use this checklist to quickly verify that your non‑MetaHuman player skin is fully integrated:
Related Docs
docs/systems/character-customization-and-skins.md– runtime character customization and skins system.docs/systems/character-skins/character-assistant.md– CharacterAssistant editor tool and asset generation.docs/how-to/characters/how-to-add-player-skin-metahuman.md– adding a MetaHuman-based player skin.docs/how-to/characters/how-to-configure-mutable-skin-asset.md– configuring a Mutable skin asset created by CharacterAssistant (planned).docs/reference/data-assets-reference.md– skin-related DataAssets (when available).