BD AutoRig (Make-It-Animatable)
Auto-rig a mesh into a Mixamo-compatible FBX in one node
- mesh
- fbx_path
Rigging is where AI-generated characters usually die. The KB's 3D generation doc is blunt about it: generated meshes come out as triangle soup with no rig, and the retopo/rig pass "dwarfs all of the rest." BD AutoRig (Make-It-Animatable) is BrainDead's attempt to collapse that pass into a single node - you feed it a humanoid mesh (TRIMESH) and it predicts the joint positions and blend skinning weights in one shot, then writes a Mixamo-compatible FBX.
This is step one of the pack's autorig pipeline. Step two is BD_AutoRigUEFN, which re-bones the Mixamo rig onto the full UEFN/Fortnite skeleton. If you only need a generic Mixamo-style rig, this node alone gets you there.
How it works
Under the hood it runs Make-It-Animatable (MIA), with the inference code vendored directly into the pack - no dependency on the ComfyUI-UniRig pack, whose install is famously fragile. The weights auto-download from HuggingFace on first use to <ComfyUI>/models/autorig/mia/, then every later run reuses the cached copy. It's fast: a humanoid rig in well under a second, versus several seconds (or an install nightmare) for the alternatives.
The output FBX is 52 bones by default, or 22 if you enable no_fingers (finger weights merged into the hand bone - the pack recommends this for characters that won't have animated fingers).
The inputs that matter
- mesh - the TRIMESH to rig.
- no_fingers (default true) - merges finger weights into the hand bone. Leave it on unless your characters do detailed hand animation.
- remap_to_uefn (default true) - the big one. Appends the Mixamo→UEFN bone-name remap inline, so the output uses
pelvis,spine_01..05,upperarm_l, etc. - names UEFN recognizes. Turn it off only if you want pure Mixamo names for a downstream tool that expects them. - reset_to_rest (default true) - transforms the output mesh into T-pose rest position. The tooltip admits it's a legacy no-op on its own; it only takes effect together with
apply_predicted. - apply_predicted (default false) - opt-in: apply MIA's predicted joint positions instead of the fixed T-pose template armature. If your input mesh is in an A-pose or whatever pose, enabling this (with
reset_to_rest) FK-poses the skeleton to match the input's actual pose. - use_normal (default false) - uses surface normals for tighter skinning; helps when limbs are touching (arms-to-torso poses).
Output is fbx_path (STRING), the path to the written FBX.
Install
Normal pack install:
cd ComfyUI/custom_nodes
git clone https://github.com/BizaNator/ComfyUI-BrainDead
cd ComfyUI-BrainDead
pip install -r requirements.txt
Or ComfyUI Manager → search "BrainDead". Restart. First run downloads the MIA weights from HuggingFace to <ComfyUI>/models/autorig/mia/ - do it on a good connection. This pack needs a recent ComfyUI (V3 node API), so update if nodes don't register.
Two honest caveats. First, MIA is a humanoid auto-rigger - it's built for characters, not creatures or props; a four-legged mesh will come out nonsense. Second, the whole BrainDead rigging chain assumes your mesh is roughly a humanoid in a T/A-pose to begin with. For a character that already stands correctly, this is genuinely the fastest path to an animatable file you'll find in ComfyUI - chain the output into BD_AutoRigUEFN when you need UEFN's exact skeleton.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| mesh | TRIMESH | — | |
| fbx_nameopt | STRING | Output filename stem (no extension). Empty = timestamped. | |
| deviceopt | COMBO | auto | 3 options: auto, cuda, cpu |
| no_fingersopt | BOOLEAN | true | Merge finger weights into the hand bone. Recommended for the studio 27-char batch — characters don't have animated fingers. |
| use_normalopt | BOOLEAN | false | Use surface normals for tighter skinning. Helps when limbs touch (arms-to-torso poses). |
| reset_to_restopt | BOOLEAN | true | Transform output mesh into T-pose rest position. Required for downstream PoseFixer to retarget cleanly. NOTE: on its own this is currently a legacy no-op — it only takes effect together with apply_predicted. |
| apply_predictedopt | BOOLEAN | false | OPT-IN (default keeps legacy behavior): apply MIA's predicted joint positions to the skeleton instead of exporting the fixed T-pose template armature verbatim. When reset_to_rest is ALSO on, the skeleton is additionally FK-posed by MIA's predicted pose transforms so it lands in the input mesh's own pose (the A-pose route for non-T-posed inputs). |
| remap_to_uefnopt | BOOLEAN | true | Append the Mixamo → UEFN bone-name remap step inline. Output FBX uses pelvis, spine_01..05, upperarm_l, etc. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| fbx_path | STRING | — |