Skalin DNA Studio — MetaHuman Customizer for Blender
This documentation is a living document. It is updated and improved alongside the add-on itself — sections may be expanded, corrected, or reorganized as new versions ship and as user feedback comes in. If something here doesn't match what you see in the add-on, check for a newer version of both.
1. Overview
Skalin DNA Studio turns Blender into a full customization studio for Unreal Engine MetaHumans. It imports a MetaHuman's DNA files — the same files the engine itself uses to define the character — rebuilds the complete character inside Blender (every mesh, every LOD, both skeletons, materials with Unreal's exact slot names), and lets you change nearly everything about it. When you're done, it writes your changes back into a valid DNA file plus matching FBX exports that drop straight into the engine.
| Area | What Skalin DNA Studio gives you |
|---|---|
| Neutral shape | Sculpt the face, body, eyes, teeth and every secondary part on dedicated working copies (edit meshes). All eight face LODs and four body LODs follow automatically. |
| Blend shapes | Edit any of the character's blend shape targets (737 on the head alone, plus teeth, cartilage and eyes) by sculpting, with correct Unreal morph-target naming handled for you. |
| Expressions | Repose what any facial expression does at the joint level — open an expression, move the bones it drives, apply. The rig math is solved exactly and written into the DNA. |
| RBF correctives | Edit the pose-driven corrective bones (73 solvers, 200+ poses across head and body): the bulges, twists and volume-preservers that fire as limbs and neck rotate. |
| Skeleton | Move joints in Edit Mode with DNA-correct left/right mirroring for both the face and the behavior-mirrored body skeleton. |
| Materials & textures | Preview skin, official wireframe topology (with and without guides) and the animated wrinkle-map system, on materials named exactly like Unreal's slots so exports rebind cleanly. |
The one idea to internalize: the DNA file is the ground truth. Skalin DNA Studio never invents a character format of its own — every import reads Epic's own RigLogic data, every export is a format-faithful transformation of the file you started from. That is why exports rebind materials, morphs and rig behavior in Unreal without manual repair.
2. Requirements & Compatibility
2.1 Blender
| Version | Status |
|---|---|
| Blender 5.2 (incl. LTS) | Tested and supported. The bundled prebuilt bindings target its Python 3.13. Any 5.2 build works — LTS is not specifically required. |
| Future 5.x | Expected to work. If a release moves to a newer Python, the prebuilt bindings won't match and the add-on says so clearly — rebuilding the bindings (§11) covers it. Untested releases are untested. |
| Blender 4.x and older | Not supported (older Python, older APIs). |
2.2 Unreal Engine
| Version | Status |
|---|---|
| UE 5.7 | Verified end-to-end — sculpted characters, custom expressions, edited RBF poses, custom morphs, DNA and per-LOD FBX, all validated in a live project. |
| UE 5.6 / 5.8 | Supported. Skalin DNA Studio never authors a DNA schema — exports are format-faithful to your source character's files, so compatibility tracks the character's own engine generation. On first use with a new engine version, run the two ten-second checks in §9.3. |
| Older than 5.6 | The supported source is the in-engine MetaHuman DCC export (a UE 5.6+ feature). Characters from older Bridge-era pipelines are untested. |
2.3 System
- Windows x64 only. Linux and macOS are not currently supported. The bundled native RigLogic bindings target Windows x64 and Python 3.13.
- Nothing else — for anything. Import, export, synchronizing, sculpting, expressions, RBF editing: the entire workflow runs on Blender plus the bindings that ship inside the add-on. Python, SWIG, CMake and Visual Studio are never used at runtime — they exist solely to compile the bindings, which has already been done for you. You do not need them installed before, during or after installing the add-on.
- The one exception is rare and covered in §11: if the bundled bindings cannot load on your specific setup, they can be rebuilt locally (§11) — only then does a build toolchain enter the picture.
3. Installation
The add-on ships with prebuilt RigLogic bindings — installation is the zip and a restart, nothing more. (If the bindings ever fail to load on your machine — a rare case the add-on reports explicitly — see §11 for the rebuild procedure. It is deliberately not part of installation.)
- Install the extension. In Blender:
Edit → Preferences → Get Extensions→ top-right dropdown → Install from Disk… → selectSkalinDNAStudio_0.9.0_Beta_Full.zip(the zip file itself, not extracted contents). - Leave the Bindings Folder preference empty. Under
Preferences → Add-ons → Skalin DNA Studio, the Bindings Folder field stays blank — the bundled bindings are found automatically. Press the recheck button; it should report the bindings as loaded. - Restart Blender. Required once after installation, and after every future update — compiled bindings cannot hot-reload inside a running Blender.
- Verify. Open the 3D viewport sidebar (
N) — a Skalin DNA Studio tab should be present. Press Validate Setup in the Import panel for a full health check.
That's the whole installation. Continue to §4 for your first character.
3.1 Updating & moving machines
- Updating: install the new zip over the old one (same Install from Disk flow), restart Blender. Preferences are preserved. If release notes say the import structure changed, re-import your DNA into a fresh scene.
- Moving to another PC: install the extension there (prebuilt bindings
travel inside it — nothing to rebuild). Copy your character content folder
and any working
.blendfiles. If the DNA files live at a different path on the new machine, update the head/body DNA paths in the Import panel before enabling the Control Rig — saved scenes reconnect to their DNA through those paths.
4. Character Content
4.1 Getting the folder from Unreal
In Unreal Engine (5.6+), use the MetaHuman DCC export on your character.
The result is a self-contained folder — call it anything; these docs use
MHBase\:
MHBase\
├── head.dna ← facial rig, meshes, blend shapes, neck RBF
├── body.dna ← body rig, meshes, 72 RBF corrective solvers
├── Maps\ ← skin textures: Basecolor, Normal, animated CM/WM maps
└── SourceAssets\masks\ ← per-region wrinkle-map masks (drives the Animated preview)
Why the layout matters: Skalin DNA Studio auto-discovers Maps\ and
SourceAssets\masks\ next to the DNA files. Keep the folder intact and
materials come up textured with zero configuration. Every texture can also be
overridden manually in the Materials panel.
4.2 First import — the smoke test
- Skalin DNA Studio tab → Import DNA panel → set the head and body DNA paths (or simply drag the .dna files into the viewport — they land in the right slots automatically).
- Press Import DNA. Every mesh at every LOD, both armatures, bone collections and slot-correct materials are built. The first run bakes wrinkle-map masks and takes a few extra seconds.
- Edit Meshes panel → Create Edit Meshes.
- Control Rig panel → Build Face Board, then Enable Control Rig. Drag any control on the board — if the face moves, the entire pipeline is verified.
5. Core Concepts
Five ideas explain every behavior in the add-on.
5.1 Edit meshes — where all work happens
Import gives you the character's originals: every part at every LOD,
exactly as the DNA defines them. You never sculpt those. Create Edit
Meshes builds one edit mesh per part at LOD0 quality — skin (head and
body welded into one seamless mesh), eyes (both eyes in one object),
teeth, eyelashes, eyeshell, eyeEdge, cartilage, saliva.
All editing happens on edit meshes. The originals and their LODs only change when you press Synchronize, which flows edit-mesh changes outward. This one-way flow is what makes the system safe.
The topology contract (critical): never add, delete, merge or reorder vertices on an edit mesh. Vertex index order is the link back to the DNA. Sculpting, moving vertices, proportional editing — all fine. Topology changes — never.
5.2 Secondary meshes — parts that follow
Eyelashes, eyeshell, eyeEdge, cartilage and saliva are rarely sculpted directly. After you sculpt the skin (or teeth), the Secondary Meshes panel conforms their edit meshes to follow the donor's deformation. By default everything follows the skin; saliva follows the teeth. Custom meshes you've added to the character can be conformed the same way.
5.3 Synchronize — the outward flow
One button applies your edit-mesh work to the whole character: LOD conform for every part, head↔body neck-seam snapping on the LOD pairs Unreal actually renders together, blend shape transfer, expression and armature updates, and an automatic seam-welded custom-normals pass. It is the last step before every export.
5.4 Names — Blender side vs Unreal side
| Where | Blend shape key name | Why |
|---|---|---|
| Edit meshes | jaw_open |
Bare channel names — the working language. |
| Original meshes | head_lod0_mesh__jaw_open |
Unreal's morph-target convention, applied from import. |
| Inside the exported FBX | armored | Unreal's importer strips a mesh-name prefix from morph names; the exporter pre-compensates so names arrive exactly right. Automatic. |
5.5 Where your work lives — the three layers
| Layer | Lives in | Survives |
|---|---|---|
| Blend shapes & sculpts | The meshes themselves | Everything — ordinary Blender data in your .blend. |
| Expression & RBF edits | Staged in the scene | Saving the .blend keeps them across restarts; they hydrate automatically when the Control Rig comes back up. |
| The permanent truth | Your exported DNA | Forever. The exported DNA is the durable artifact. |
The two save rules: save the
.blendafter applying expression or RBF edits. Export DNA to make changes permanent — and export to a new file, never over your source DNA.
6. Interface Reference
Every panel in the Skalin DNA Studio sidebar tab, in order.
6.1 View
| Control | Does |
|---|---|
| LOD 0–7 / Edit | Shows one LOD of the whole character, or the edit meshes. Face and body are paired the way Unreal renders them: face LOD L shows with body LOD ⌊L/2⌋. |
| Secondary Edit Meshes | Shows/hides the five secondary edit meshes in one press. |
| Faceboard / Armatures / Meshes | Visibility toggles (highlighted when visible). |
| Show All / Hide All / In Front | Bone collection and draw-mode utilities across all rigs. |
| Bone collections | Base · Twist · RBF · FaceGroup 0–4 (facial hierarchy depth levels, each with its own color). |
6.2 Scene & Import DNA
Character name; head/body DNA paths; Import DNA. Drag .dna files into
the viewport to set the paths. DNA File Info inspects the configured
files (name, mesh/joint/blend shape/RBF counts) before importing. Validate
Setup checks the entire installation and scene — bindings, paths, sessions,
edit meshes, snapshots, topology integrity, board — and states exactly what's
wrong, in a popup and the console. It's the first button to press when
anything misbehaves, and the output to include in a support request.
6.3 Materials
| Control | Does |
|---|---|
| Skin / Wireframe / Wire+Guides / Animated | Preview modes, switched inside the node graphs so slot names never change. Animated blends the CM color maps in through the character's own wrinkle masks. |
| Setup Materials | Builds/repairs all materials and slot assignments. Safe to re-run any time. |
| Texture fields | Maps folder, masks folder, per-texture overrides for head and body. Empty = auto-discover next to the DNA. |
Every material is named exactly like its Unreal slot, per LOD, per part — that's why imported FBX files rebind to the engine's materials with no manual fixing.
6.4 Edit Meshes
| Control | Does |
|---|---|
| Create Edit Meshes | Builds all working copies and their pristine snapshots. |
| Symmetrize Edit Meshes / Symmetrize Selected Mesh | Perfectly symmetrical neutrals — Left→Right, Right→Left or Average, with confirmation; index-preserving; shape keys follow. |
6.5 Control Rig
| Control | Does |
|---|---|
| Build Face Board | Builds the 2D facial control board. |
| Pose Faceboard | Pose Mode on the board (requires board + enabled rig). |
| Enable Control Rig | Live RigLogic evaluation, exactly as in-engine. Also revives saved sessions and restores staged edits. |
| Reset | Neutral pose. |
| WM1/WM2/WM3 poses | Paint-reference poses for the three animated-map sets — pair with the Animated material preview when authoring wrinkle textures. |
6.6 Blend Shapes
Pick a key on an edit mesh, activate it, sculpt the posed shape at full strength — Skalin DNA Studio maintains the delta. Add Empty Blend Shapes creates zeroed keys ready for sculpting. Restore Blend Shapes from DNA rebuilds every matching shape key — on the originals and the edit meshes — from any compatible DNA file: your source DNA to undo mistakes, or an earlier export.
6.7 Expressions
| Control | Does |
|---|---|
| Active expressions list | Every facial control currently non-zero. Pose the board, then edit from here. |
| Edit → pose → Apply / Cancel | The driven bones are isolated on the edit rig; pose them; Apply solves your changes exactly into the expression's DNA joint columns, stages them, shows them live. |
| Isolate Bones · Mirror L→R / R→L | Pose-mode helpers. |
| Symmetrize Expression | Copies an edited expression onto its L/R twin with exact per-joint-pair mirroring. |
6.8 Correctives (RBF)
| Control | Does |
|---|---|
| Search + Region + Left/Right filters | Cut the 73 solvers down: free-text search, region groups, side toggles. |
| Solver selector + pose list | Selecting a pose activates it — the limb drives to that exact sample, the corrective fires at full strength, and every other solver resets. Edited poses are marked. Neutral deactivates everything. |
| Edit Pose | The familiar isolate→pose→Apply workflow on the corrective bones. While editing, the panel collapses to Isolate Pose + Apply/Cancel. |
| Revert Pose / Revert All Poses | Back to stock MetaHuman values, per pose or wholesale, behind confirmations. |
| Restore RBF from DNA | Rebuilds corrective values from any compatible DNA file (source or earlier export); head/body detected automatically; rig layout verified first. |
| Symmetrize Solver / Symmetrize All | One solver onto its counterpart, or every solver at once, Left→Right or Right→Left — exact per-joint-pair mirroring for both the face and the behavior-mirrored body skeleton. |
| Remove Driver | Stages every corrective value of the solver's poses to zero — the solver still runs but outputs nothing; exports in-place; Revert restores. |
6.9 Skeleton (appears in Edit Mode on an armature)
| Control | Does |
|---|---|
| Conform to Mesh | Refits the edit armature onto the current edit-mesh shape. |
| Mirror Selected / Mirror All | DNA-correct bone mirroring — Blender's built-in X-mirror is not safe on these skeletons; this is. |
6.10 Secondary Meshes
| Control | Does |
|---|---|
| From / To | Donor and target (defaults: everything ← skin, saliva ← teeth; Custom Object for your own meshes). |
| Conform Selected / Conform All | Conforms secondaries' edit meshes to follow the donor. Run Synchronize afterwards. |
6.11 Synchronize
Checkboxes for Head, Body, Blend Shapes, Armatures, Expressions — one button. With head and body both on, it also snaps the neck seams and finishes with the welded-normals pass. Placed directly above Export because that is its place in the workflow.
6.12 Export
| Control | Does |
|---|---|
| Export DNA | Writes your edited character into new head/body DNA files — everything staged, format-faithful to your source. |
| Export FBX | Per-LOD FBX with Unreal-ready everything: root skeleton node, the full lower spine chain synthesized onto the head (face attaches at socket None), armored morph names, correct slots, welded normals. The console prints the shipped morph names. |
| Export Textures | Copies custom textures to a Maps folder under canonical MetaHuman names. |
7. Workflows
A — Reshape a character (the core loop)
- Import DNA → Create Edit Meshes → View → Edit. Hide secondaries.
- Sculpt the
skinedit mesh (head+body welded — the neck can't split). Symmetrize when asymmetry creeps in; Conform to Mesh (Skeleton panel, Edit Mode on the armature) keeps bones seated. - Secondary Meshes → Conform All pulls the followers into place.
- Synchronize — LODs conform, seams snap, blend shapes transfer, normals weld. Scrub the View LOD buttons to check every level.
- Export DNA (new filename) + Export FBX → §9.
B — Edit a blend shape
- Blend Shapes panel → select and activate the target on the relevant edit mesh.
- Sculpt what the expression should look like at full strength — you edit the destination, not the delta.
- Verify live: enable the Control Rig and drive the corresponding board control.
- Synchronize (Blend Shapes ticked) → export.
C — Customize an expression's rig behavior
- Enable Control Rig → pose the board until the expression is active.
- Press Edit next to it in the Expressions list — only the driven bones remain, on the edit rig, in Pose Mode.
- Repose the bones. Mirror L→R keeps symmetric expressions symmetric.
- Apply — solved exactly, staged, live. Symmetrize Expression for the twin control. Save the .blend.
D — Edit an RBF corrective pose
- Correctives → filter → pick solver → click the pose in the list: selection is activation — the limb drives to the exact sample and every other solver resets.
- Edit Pose → adjust the corrective bones → Apply. Isolate Pose silences everything else if needed.
- Symmetrize Solver (or Symmetrize All) mirrors exactly. Revert Pose if regretted. Save the .blend.
E — Author wrinkle (animated map) textures
- Control Rig → WM1/WM2/WM3 — every mask region of that set drives to full (the face looks extreme by design; lips belong to sets 1 and 3 — author them from WM3).
- Materials → Animated to see your maps blend through the character's masks. Override CM1–3 to iterate; Export Textures ships them.
F — Adjust the skeleton by hand
Edit Mode on the edit armature → move joints → Mirror Selected / Mirror All (never Blender's X-mirror) → Conform to Mesh if meshes changed → Synchronize (Armatures ticked).
8. Saving & Data Safety
The DNA session (the live RigLogic runtime) cannot be stored in a .blend.
When you reopen a saved scene and press Enable Control Rig, Skalin DNA Studio
revives the session from the DNA paths stored in the scene, then
hydrates your staged expression and RBF edits from the .blend — the
enable report lists what it restored.
| Moment | Do |
|---|---|
| After Apply (expression or RBF) | Save the .blend. |
| Before ending a work session | Export DNA if the state should be permanent. |
| Exporting DNA | Always to a new file — never overwrite the source DNA. Version your exports (MyChar_v003.dna). |
| After add-on updates | Restart Blender, always. |
9. Unreal Round-Trip
9.1 Importing the FBX
| Setting | Value | Why |
|---|---|---|
| Normal Import Method | Import Normals | The default throws away Skalin DNA Studio's seam-welded normals — the single most-forgotten setting. |
| Import Morph Targets | On | Names arrive correctly (the exporter pre-compensates for the engine's mesh-name stripping). |
| Skeleton | Your character's | The head carries the full lower spine chain, matching the MetaHuman face skeleton. |
| Build → Recompute Normals / Tangents | Off / On (MikkTSpace) | The standard MetaHuman configuration, matched by the export. |
9.2 What lands automatically
- Material slots rebind by name, per LOD, per part.
- The face attaches at socket None — pelvis → spine_01…03 are synthesized onto the exported head from the body DNA.
- Every part ships in the LOD0 FBX (check the Sections list if something seems missing — it's there with its slot).
- The DNA carries your rig-level work — expressions, RBF poses, neutral transforms, normals, blend shape deltas — in your character's own format generation.
9.3 First use with a new engine version — two ten-second checks
- Material slot names: compare the engine's slot list on the face skeletal mesh with the exported FBX's materials.
- Morph names: import one FBX and compare the morph list against the
[Skalin DNA Studio] FBX morph namesconsole line printed at export.
10. Troubleshooting
The console (Window → Toggle System Console) narrates everything with
[Skalin DNA Studio] lines — it's the first place to look. Validate Setup is the
first button to press.
| Symptom | Cause & fix |
|---|---|
| "Bindings could not be loaded" — nothing found | Your Blender's Python has no matching bindings (bundled files target 3.13). Rebuild the bindings for your version — see §11. |
| "Bindings could not be loaded" — import failed | Files present but Windows refused them. Install the latest Microsoft Visual C++ Redistributable (x64), or restore antivirus-quarantined .pyd files and whitelist the extension folder. Rebuilding the bindings (§11) always works as the last resort. |
| Add-on behaves strangely after update | Blender wasn't restarted. |
| "No head DNA session and revival failed" | The scene's stored DNA paths don't resolve on this machine. Fix them in the Import panel, then Enable again. |
| Materials flat gray / untextured | Maps folder not found next to the DNA. Set it in Materials → Setup Materials. |
| Animated preview shows plain skin | Masks folder not found. Point it at SourceAssets\masks\ → Setup Materials. |
| Edit meshes have wrong materials | Created before materials existed. Press Setup Materials — it repairs slot layouts in place. |
| Morph names wrong in Unreal | Check the [Skalin DNA Studio] FBX morph names console line — it shows what shipped. Import as a new asset rather than reimporting over an old one. |
| Face misplaced when attached in Unreal | Export made without a body session (the spine chain couldn't be synthesized — the console said so). Set the body DNA path, re-export. |
| Secondary conform "does nothing" | Its donor hasn't moved — sculpt the donor first (the console says which were skipped). |
| Neck gap at distance LODs | Run Synchronize with both Head and Body ticked. |
| Expression/RBF edits gone after restart | The .blend wasn't saved after Apply, or the Control Rig hasn't been enabled yet this session (enabling hydrates them). |
11. If the Bindings Won't Load — Rebuilding Them Yourself
You should never need this section. It applies only if Blender reports that the RigLogic bindings could not be loaded, and the Troubleshooting fixes (§10) — Visual C++ Redistributable, antivirus quarantine — didn't resolve it, or your Blender uses a newer Python than the bundled bindings target.
What rebuilding gives you: bindings compiled on your machine against your exact Python — which always load. Self-built bindings take priority: once the Bindings Folder preference is set, they override the bundled files. Better still, the build script detects an installed Skalin DNA Studio extension and installs its output directly into it — in that case you leave the preference empty and just restart Blender.
11.1 The rebuild procedure
If none of the above apply and the bindings still won't load, rebuild them:
The advanced package for this contains the bundled
OpenRigLogic source, build_bindings.bat, and check_prerequisites.ps1.
-
Unpack the package to a permanent folder (e.g.
C:\SkalinDNAStudioBindings\). The bindings folder path is stored in Blender's preferences, so don't move it afterwards. -
Check the toolchain. In PowerShell, in the package folder:
.\check_prerequisites.ps1 # check only — changes nothing .\check_prerequisites.ps1 -Install # install what's missing (ADMIN window)If PowerShell blocks the script:
Set-ExecutionPolicy -Scope Process -Bypass, then run it again. After an install pass, close the window and open a new PowerShell before re-checking — PATH changes only reach new windows. (Prefer manual installs? Full per-tool tutorial in §11.2.) -
Build. Double-click
build_bindings.bat. It compiles OpenRigLogic and copies four files —dna.py,riglogic.py,_py3dna*.pyd,_py3riglogic*.pyd— intobindings_out\windows\x64\py313next to the script, printing the full path when it finishes. For a different Blender Python:build_bindings.bat 3.12. Failures are fully logged tobuild_log.txt. -
Point the add-on at your build.
Preferences → Add-ons → Skalin DNA Studio→ set Bindings Folder to the printed path → recheck → restart Blender.
11.2 Installing each build tool by hand — the full tutorial
The script above does all of this for you; this is the same work spelled out. Nothing else is required beyond these four — no Git (the source is bundled), and the Windows SDK comes with the Visual Studio workload.
Visual Studio 2022 Build Tools — the C++ compiler
-
Download Build Tools for Visual Studio 2022 from
visualstudio.microsoft.com/downloads(the free Build Tools edition is enough; full Community also works). -
In the installer, on the Workloads tab, tick "Desktop development with C++". This single checkbox is the whole requirement — it brings MSVC and the Windows SDK. Leave the optional list at its defaults. Install (several GB; the longest step of the whole setup).
-
Confirm in PowerShell:
& "${env:ProgramFiles(x86)}\Microsoft Visual Studio\Installer\vswhere.exe" ` -latest -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property displayNameAny printed name (e.g. "Visual Studio Build Tools 2022") means the compiler is ready.
Python 3.13 x64 — must match Blender's bundled version
-
Download the Windows installer (64-bit) for the latest 3.13.x from
python.org/downloads. The version matters: Blender 5.2 embeds Python 3.13, and the bindings must be built against the same minor version. -
Run it with the default options — defaults include the py launcher and the development headers, both of which the build needs. "Add python.exe to PATH" is fine but not required.
-
Confirm:
py -3.13 -c "import struct;print(struct.calcsize('P')*8)" # must print 64 py -3.13 -c "import sysconfig,os;print(os.path.isfile(os.path.join(sysconfig.get_paths()['include'],'Python.h')))" # must print True
CMake — the build system
winget install -e --id Kitware.CMake, or download the Windows x64 installer fromcmake.org/downloadand choose "Add CMake to the system PATH" during install.- Confirm in a new PowerShell window:
cmake --version(3.15+).
SWIG 4.x — the binding generator
- Download the swigwin zip from
swig.org/download.html(prebuilt for Windows — nothing to compile). - Extract and move the folder so that
C:\swigwin\swig.exeexists. That location is found automatically; adding it to PATH is optional. - Confirm:
C:\swigwin\swig.exe -version.
The winget one-liners (equivalent to the above):
winget install -e --id Microsoft.VisualStudio.2022.BuildTools `
--override "--quiet --wait --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended"
winget install -e --id Python.Python.3.13
winget install -e --id Kitware.CMake
# SWIG via the swigwin zip as above
After installing anything, open a new PowerShell before verifying — PATH changes never reach already-open windows.
12. Limitations
Stated plainly, so there are no surprises:
- Topology is fixed. Vertex count and order are the DNA link — no adding, deleting, merging or reordering vertices on edit meshes. (Meshes with arbitrary topology can ride along as conformed custom objects, but they are not DNA meshes.)
- Blend shapes exist where the DNA defines them: head (737), cartilage (76), teeth (41), each eye (2). Eyeshell, saliva, eyelashes and eyeEdge carry none — sculpt their neutrals and conform them instead.
- Morphs are LOD0-only, matching every shipped MetaHuman.
- Existing poses and expressions only (current release): every expression and every RBF corrective pose the DNA defines is editable — the complete standard MetaHuman set — but authoring brand-new poses, controls or solvers is not supported yet.
- One character per
.blendis the supported workflow. - Windows x64 only. The bundled prebuilt bindings target Windows x64 and Python 3.13. Linux and macOS are not supported in version 0.9.0 Beta.
- Blender 5.2+, Unreal 5.6–5.8 (see §2 for the full matrices). The supported character source is the in-engine MetaHuman DCC export (UE 5.6+).
- Cross-character content works within a topology generation: edit meshes are deterministic, so meshes and DNA-restores transfer between same-generation MetaHumans; a future Epic topology revision would not correspond vertex-for-vertex.
- Restart discipline: Blender must be restarted after every add-on install or update (compiled bindings cannot hot-reload).
13. FAQ
Can I use a mesh from another Blender file / another character? Yes, within the same MetaHuman topology generation — edit meshes are deterministic (identical vertex count and order), so an appended edit mesh corresponds vertex-for-vertex and works as a conform source or direct shape reference.
Can I undo a mistake in blend shapes or RBF poses? Yes — Restore Blend Shapes from DNA and Restore RBF from DNA rebuild from your source DNA or any earlier export; Revert Pose / Revert All goes back to stock values instantly.
Does the exported DNA replace my source? Never overwrite the source — export to versioned new files. Any export can serve as the source of a future session.
Multiple characters in one file? One character per .blend.
Mac / Linux? Not currently. Version 0.9.0 Beta supports Windows x64 only.
14. Credits & Licensing
Skalin DNA Studio is © Victor Skalin, distributed under the GNU GPL-3.0-or-later — the standard license of the Blender add-on ecosystem. Purchasing grants you the software and its source; the GPL grants you the right to modify and redistribute under the same license. Paid distribution of GPL Blender add-ons is the established norm: what you pay for is the maintained product, updates and support.
Built with: OpenRigLogic (Epic Games, MIT — bundled, incl. prebuilt binaries with license notice), with prior art gratefully studied in MetaReForge (GPL) and Character DNA / Poly Hammer (GPL).
MetaHuman™ and Unreal Engine™ are trademarks of Epic Games, Inc. Skalin Skalin DNA Studio is an independent tool, not affiliated with or endorsed by Epic Games. Use of MetaHuman content is governed by Epic's own license terms.
15. Support
Include your purchase receipt and, for technical issues, the output of
Validate Setup plus the [Skalin DNA Studio] console lines — they narrate every
operation and are usually the entire diagnosis.
Email: victor@skalin.org — or use the contact section at www.skalin.org.
Skalin DNA Studio — MetaHuman Customizer for Blender. This documentation is a living document and will continue to be updated and improved.