Prerequisites
- Blender 3.x, 4.x or 5.x, any recent version works
- The two Python scripts included with the plugin:
MergeArkit.py: imports OBJ poses as shape keys onto a new meshAddBlendshapes.py: adds shape keys to an already-selected mesh
- A completed ARKit 52 export (53 OBJ files on disk per LOD)
Scripts are located in the plugin's PythonScripts/ folder. See Project Setup for the exact path depending on your install method.
Importing OBJs as Shape Keys: MergeArkit.py
This script does the heavy lifting: it reads your entire export folder, imports the neutral mesh as the base, then imports each of the 52 pose OBJs as a shape key on top of it. Multi-LOD is handled automatically.
Step-by-Step
- Open Blender and go to the Scripting workspace
- Click Open and load
MergeArkit.py - Find the
export_dirvariable near the top of the script and set it to your OBJ export folder:PYTHONexport_dir = r"D:\MyExports\CharA" - Click Run Script
What It Does
The script scans the folder for Neutral_LOD*.obj files to detect which LODs are available, then for each LOD:
- Removes any existing
Face_LOD{N}mesh (for a clean reimport) - Gets or creates a "Face" empty object (preserves it if it already exists, keeping any custom properties you added)
- Imports
Neutral_LOD{N}.objas the base mesh, namedFace_LOD{N}, parented to the Face empty - For each ARKit pose OBJ with a matching LOD suffix: imports it temporarily, transfers it as a shape key (stripping the
_LOD{N}suffix from the name), then deletes the temporary import
Result
Face (empty parent object)
├── Face_LOD0 (53 shape keys: Basis, EyeBlinkLeft, EyeLookDownLeft, ..., TongueOut)
├── Face_LOD1 (53 shape keys)
└── Face_LOD2 (53 shape keys, if exported)
The Basis shape key is the neutral pose. The 52 named shape keys match the ARKit blendshape names exactly, without any LOD suffix.
Re-Running the Script
You can re-run the script at any time in the same .blend file. It replaces the Face_LOD* meshes while preserving the "Face" empty and any custom properties attached to it, useful when you want to update the shapes after a re-export from Unreal.
Adding Shape Keys to an Existing Mesh: AddBlendshapes.py
Use this script when you already have a mesh in Blender and want to add ARKit shape keys onto it, rather than creating a new one from scratch.
- Select the target mesh in Blender's viewport
- Open
AddBlendshapes.pyin the Scripting workspace - Set the
export_dirvariable to your OBJ export folder - Run the script
Shape keys are added to whichever mesh is currently active.
Editing and Sculpting
Once the shapes are imported, you can freely edit the mesh:
- Sculpt the Basis (neutral pose) to reshape the face; all shape keys are relative to the Basis, so changes to it propagate across all expressions automatically
- Adjust individual shape keys by setting the target shape key's value to 1.0 in the Shape Keys panel, then sculpting or editing in Edit Mode; changes only affect that expression
- You can also add entirely new shape keys at this stage for any custom expressions beyond the 52 ARKit poses
Exporting Back to Unreal Engine
Once you're happy with the mesh, export it as FBX with File > Export > FBX (.fbx).
FBX Export Settings
| Setting | Value | Why |
|---|---|---|
| Scale | 100 |
Converts Blender meters to UE centimeters |
| Apply Scalings | FBX All | Bakes the scale into the geometry |
| Forward | -Y Forward | Matches UE's coordinate system |
| Up | Z Up | Matches UE's coordinate system |
| Apply Modifiers | ON | Ensures any modifiers are baked into the export |
| Armature | OFF | No skeleton needed for a morph-target-only mesh |
Make sure Shape Keys are included (this should be on by default under the Geometry section of the export dialog).

Multi-Character Variations
You can create a morph-target mesh that blends between multiple MetaHuman characters, for instance a base character with additional shape keys representing other characters' face shapes.
- Export each additional character's neutral mesh from Unreal using the Neutral pose only checkbox in the ARKit 52 tab (see Neutral Pose Only)
- In Blender, with your main
Face_LOD0mesh selected, runAddBlendshapes.pypointing at each additional character's export folder; each neutral mesh is added as a new shape key - Rename the resulting shape keys to identify the character they represent
- Export the combined mesh as a single FBX; it will contain the 52 ARKit poses plus your custom character-variation shapes