How-to · Rigging
How to Compare AI Auto-Riggers in Godot and Unity
A runnable protocol for comparing AI auto-riggers on your own characters in Godot and Unity, plus what Meshy, Tripo and AccuRIG documents about inputs and limits.
An auto-rigger is only as good as what happens after it: whether your engine accepts the skeleton without manual bone mapping, and whether the mesh bends cleanly at the hips, shoulders and knees. Vendor pages describe the first step (upload, click, download). They rarely describe the second. This page is the second half, written as a protocol you can run on any character, in the engines most indie developers actually use.
What published sources already say
The only cross-tool rig comparison we could find that shows its setup is a May 14, 2026 post by StraySpark, a company that sells Unreal, Blender and mesh-prep tools. It describes a humanoid with a target of about 30,000 triangles and one material, run through Tripo, Meshy, Cascadeur, AccuRig and Mixamo, using Blender 5.1 and Unreal Engine 5.7. The post does not state a sample size. Its reported findings, which we have not reproduced:
- Time to a first test animation: Tripo about 3 minutes, Meshy about 8 (retarget work), AccuRig about 10 including a scale fix, Mixamo about 12. Cascadeur is given as about 30 minutes for a useful 2-second pose-to-pose, which the post itself calls an animation-authoring workflow rather than a comparable auto-rig time.
- Tripo: over-smoothed shoulder and chest weights, noisy jaw weights, a minor foot-bone offset tweak at retarget, biped-only with no facial joints; it handled a stylized robot with no manual corrections, which the post rates better than the other tools.
- Meshy: hip pivots reported 5 to 15 cm from where a hand-rigger would place them, causing foot-IK mismatches, and non-standard spine and clavicle names needing manual retarget mapping.
- AccuRig: the cleanest pure-rigging weights in that post, humanoids only per the post, a specific expected A-pose, and one character imported at 0.01x scale.
The limits of that report matter more than its numbers. It is Unreal only and has no Godot or Unity result. The post does not say each generator’s own output was rigged, so it cannot tell you how a given generator’s mesh rigs. Treat it as a list of failure modes to look for, not as a verdict. The post’s “biped-only” description of Tripo differs from the non-biped rig types in the developer-portal documentation below (which may not describe the service StraySpark used); we cannot reconcile them.
What each rigger documents about inputs
These are the inputs and limits the vendors publish, as of November 2026. Anything not listed was not stated on the page we read.
| Rigger | Documented input and limits | Documented output | Not stated |
|---|---|---|---|
| Meshy (API) | Humanoid (biped) only; textured models only; face limit 380,000 triangles; face must point +Z; height_meters default 1.7 |
Rigged FBX and GLB, plus walking and running animations | Credit cost: Meshy’s web app pricing page lists rigging at 0 credits per model, while its API price list shows Rigging at 5 per request |
| Meshy (web app) | Humanoid, Quadruped Dog, and “Smart Rig (Beta)” for creatures, robots and props; T-pose or A-pose with a clear gap between limbs and body; over 300,000 faces needs Remesh first; uploads up to 100 MB | Smart Rig models “can’t use the animation library and download as GLB only” | Why the API (380,000) and web app (300,000) face limits differ |
| Tripo (API; the .ai and .com rig docs match apart from sample JSON) | GLB, FBX, OBJ or STL in; rig_type includes biped (default), quadruped, hexapod, octopod, avian, serpentine, aquatic, with “others” only on v3.0 |
GLB (default) or FBX; spec (biped only) can be tripo or mixamo, and v3.0 adds actorcore, unity, unreal, vrm |
Web app limits; the .ai API docs list the same rig types; Tripo’s consumer pages were not readable |
| AccuRIG | Free stand-alone version; page lists one-mesh and multi-mesh A/T-pose characters, with multi-mesh described as “Allow to import but can’t rig seperately” (sic) on the free version | FBX and USD | Input file formats, face limits, operating system, account requirement and license terms are not on the page |
| Mixamo | Unverified: Adobe’s help page returned 403 to us, and no primary source was read | Unverified | Limits and terms; see using Mixamo with AI characters |
Prices and credit costs change; Meshy’s rig and animate credits differ between its web app and API pricing pages, so check the page that matches how you will use it. The Meshy review and Tripo review cover plans and licenses.
The protocol
The point of running it yourself is that your characters, not a vendor’s showcase model, decide the answer.
- Pick the inputs. Use at least five characters: two humanoids in a clear A-pose or T-pose, one with a cloak or long hair, one stylized proportion (big head, short legs), and one non-humanoid. Generate each character in the generator whose rigger you plan to use, and also keep one common mesh you feed to every rigger. The first set measures the pipeline you would really use. The second isolates the rigger.
- Record the raw mesh first. Triangle count, material count, bounding-box height in meters, facing direction, and whether limbs touch the body. Auto-riggers fail on touching limbs and unusual facing; you want that visible before blaming the rigger. Retopology may be needed before a fair test.
- Rig and export with defaults. Do not hand-fix before the first import. Note the format you exported (GLB or FBX), the tool’s rig spec option if any, and the minutes from upload to download.
- Import into Godot. Use the glTF/GLB route Godot recommends. In the Advanced Import Settings, select the Skeleton3D; a Retarget section appears with a
bone_mapproperty. Create a BoneMap with SkeletonProfileHumanoid. Godot’s docs state that profile assumes a T-pose facing +Z, and that A-pose models should enable Fix Silhouette. Godot says auto-mapping runs when the profile is set and that problem mappings show a magenta or red button (depending on editor setting); the warning does not block import. Record whether auto-mapping succeeded and what the warnings flag. - Import into Unity. On the model’s Rig tab set Animation Type to Humanoid, leave Avatar Definition on Create From This Model, and click Apply. Unity shows a check mark next to Configure on success or a cross on failure. Open Configure and count red bones in Avatar Mapping. If Unity reports “Character not in T-Pose”, Pose > Enforce T-Pose is the documented fix. Record each manual step you needed.
- Apply two shared animations (a walk cycle and an arm-raise) from one library to every rig, so the deformation you see is the rig and not the clip.
- Capture deformation at hips, shoulders, knees and elbows at extreme poses: still frames and a short loop. Look for collapsed volume, stretched triangles, and surfaces that follow the wrong bone.
- Log the timing from upload to a character walking in the engine, separate from machine waiting time.
What to record, and how to call pass or fail
These criteria are ours. No engine documents a numeric threshold for auto-rig quality, so we do not invent one.
| Field | Pass | Fail |
|---|---|---|
| Engine accepts skeleton | Godot BoneMap or Unity Avatar completes with no manual bone assignment | Any bone must be assigned by hand |
| Scale | Character is the intended height with no scale fix | A scale or axis fix is needed |
| Rest pose | Engine pose tools (Fix Silhouette, Enforce T-Pose) are not needed | They are required |
| Foot contact | Feet stay planted on the walk loop | Visible sliding or hovering |
| Joint deformation | No collapse or tearing at the four joint sets in the shared clips | Any collapse visible in still frames |
| Non-humanoid | Rig is produced and moves sensibly, or tool states it cannot | Silent bad rig |
Report a count per criterion per tool, not a single score. Two riggers can tie on pass count and still differ in which failures cost you an afternoon.
Reading the results
If a tool needs manual mapping on every character, its time-to-first-animation is not its real time. If failures cluster on one input type, such as touching limbs, fix the input before changing the tool. And rigging is not the end: whether a rig suits the animation you want depends on the next step, covered in animating AI 3D characters. For creature meshes, read non-humanoid rigs first, because several rigger descriptions (Meshy’s API, and StraySpark’s description of AccuRig) say humanoid only, while other documentation says otherwise. If you are deciding whether to leave Mixamo, see Mixamo alternatives. The character-generation side is the subject of the best AI 3D character generators, and the site-wide test plan is on methodology and the character rigging comparison. Engine import detail lives in the Godot and Unity pages.
This page returns to rigging when results exist. Until then, nothing here ranks one rigger above another.