Skip to content
Blender Workflow

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 mesh
    • AddBlendshapes.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

  1. Open Blender and go to the Scripting workspace
  2. Click Open and load MergeArkit.py
  3. Find the export_dir variable near the top of the script and set it to your OBJ export folder:
    PYTHON
    export_dir = r"D:\MyExports\CharA"
    
  4. 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:

  1. Removes any existing Face_LOD{N} mesh (for a clean reimport)
  2. Gets or creates a "Face" empty object (preserves it if it already exists, keeping any custom properties you added)
  3. Imports Neutral_LOD{N}.obj as the base mesh, named Face_LOD{N}, parented to the Face empty
  4. 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

TXT
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.

  1. Select the target mesh in Blender's viewport
  2. Open AddBlendshapes.py in the Scripting workspace
  3. Set the export_dir variable to your OBJ export folder
  4. 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).

Blender FBX export dialog with the correct settings highlighted


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.

  1. Export each additional character's neutral mesh from Unreal using the Neutral pose only checkbox in the ARKit 52 tab (see Neutral Pose Only)
  2. In Blender, with your main Face_LOD0 mesh selected, run AddBlendshapes.py pointing at each additional character's export folder; each neutral mesh is added as a new shape key
  3. Rename the resulting shape keys to identify the character they represent
  4. Export the combined mesh as a single FBX; it will contain the 52 ARKit poses plus your custom character-variation shapes

© 2026 Accent Game Dev. All rights reserved.