music-to-3d choreography → unity
AI Dance Animation for Unity
mvntSTUDIO generates 3D choreography from music in the browser,then hands you a GLB download today.This page covers the current GLB handoff and the planned FBX/BVH workflow for Unity’s importer.
From a song to a playable clip in Unity
Most searches for AI dance animation for Unity end at a marketing page and start over at the import dialog. The generation half is the easy half. The part that eats an afternoon is the Model, Rig, and Animation tabs — the scale factor that makes your dancer four storeys tall, the Avatar that refuses to build, the clip that plays perfectly in the preview window and then does nothing in the scene.
mvntSTUDIO is a music-to-3D-choreography tool: you give it a track — including sources like YouTube, Suno, or SoundCloud — and it produces a 3D dance scene you can review in the browser with nothing installed. After you sign in, GLB is the current download. FBX and BVH exports are coming soon, so the Unity import settings below are a forward-looking guide for the formats that will follow. There is no Unity package, no one-click importer, and no automatic retargeting service. You can inspect the current GLB in a glTF viewer or Blender; the planned FBX workflow is what will provide Unity’s native skeletal import path.
Everything below is about those fields.
GLB, BVH, or FBX — what is available for Unity today
GLB is available today; FBX and BVH are coming soon. GLB is the current download for viewing or Blender, while the Unity-native FBX workflow below is planned for a future export.
FBX Coming soon
FBX export is coming soon. When it launches, Unity’s model importer will read .fbx natively: drop the file into your Assets folder and Unity will produce a model prefab plus one or more AnimationClips, with the Model, Rig, Animation, and Materials tabs available in the Inspector. Every setting discussed on this page lives on those tabs, which is why FBX is the planned native answer for Unity.
BVH Coming soon
BVH export is coming soon. It will contain a skeleton definition plus joint rotation channels — no mesh, no skinning, no materials — and Unity will not read it directly. Its planned value is upstream: Blender ships with a BVH importer, so BVH will be useful when you want to drive a rig you already own rather than the character that came out of Studio. Retarget in Blender or MotionBuilder, then use the planned FBX export for Unity.
GLB Available now
GLB is the current download. Unity has no built-in glTF importer: a .glb sits in a Unity project as an unrecognised file unless you add a third-party package such as glTFast or UnityGLTF, or route it through Blender first. GLB opens instantly in any glTF viewer or in Blender, which makes it the current way to sanity-check the motion outside the engine while the FBX and BVH exports are prepared.
The four things that go wrong on import
These are not exotic edge cases. They are the default failure modes of moving any skeletal animation into Unity, and they show up in the same order every time.
1. Unit scale — Unity thinks in metres
One Unity unit is one metre. When the planned FBX export arrives, verify its unit metadata instead of assuming it. Start with Unity’s default Convert Units behavior and Scale Factor at 1, then drop a default 1×1×1 cube next to the imported character. A human-scale dancer should land in the rough human-height range; if it arrives wildly large or tiny, re-check unit conversion before building anything downstream.
2. Up-axis and handedness
Unity is Y-up and left-handed. When FBX export becomes available, Unity’s importer should perform the usual handedness conversion, so a direct FBX import should rarely need a manual rotation. The orientation bugs appear when you round-trip through Blender, which is Z-up and right-handed. In Blender’s future FBX export step set Forward to -Z Forward and Up to Y Up; skip that and your dancer can arrive lying on her back, or upright but facing the wrong way down the Z axis. Check facing direction in the scene view, not in the import preview — the preview window uses its own camera and will happily hide a 180° error.
3. Humanoid vs Generic — the decision that shapes everything after it
The Rig tab’s Animation Type field is the single most consequential setting on the import. Generic binds the clip to the exact transform hierarchy in the file: Unity’s Animator addresses curves by transform path, so the clip plays back faithfully on that hierarchy and on nothing else. Rename or reparent a bone and the curve silently stops resolving. Humanoid asks Unity to build an Avatar — a mapping from your skeleton onto Unity’s internal humanoid definition — and once that mapping exists the clip is stored in a normalised muscle space and can play on any other Humanoid avatar regardless of proportions. For a dance you intend to reuse across characters, Humanoid is worth the extra step; for a one-off scene where the character and the motion ship together, Generic is fewer moving parts.
4. Getting the Avatar to build
Humanoid requires a recognisable biped. Unity needs hips, spine, head, and — for both sides — upper arm, lower arm, hand, upper leg, lower leg, and foot; other joints such as chest, neck, and shoulders are optional. Treat future MVNT skeleton details as something to verify at export time, not as a fixed contract today. When a slot does not resolve, bones shown in red on the Rig tab are required and unassigned, and you drag the correct transform into each one. The other half of Avatar configuration is the rest pose. Unity expects something close to a T-pose at bind time, and Configure offers Enforce T-Pose for exactly this reason. A rest pose far from T — arms down at the sides, for example — produces an Avatar with baked-in rotation offsets, and the symptom is retargeted animation that looks subtly wrong everywhere rather than obviously broken in one place.
5. Root motion and looping
Per-clip settings live on the Animation tab. Root Transform Rotation, Root Transform Position (Y), and Root Transform Position (XZ) each have a Bake Into Pose checkbox. Baking a channel into the pose means the motion stays in the animation and never reaches the GameObject transform — the dancer performs on the spot. Leaving it unbaked lets the channel drive the character, which only takes effect if Apply Root Motion is ticked on the Animator component. If your dance is meant to stay in one place, bake Position (XZ) and Rotation. Loop Time makes the clip repeat, and Loop Pose blends the last frame back toward the first to kill the visible pop at the seam; the match quality readout next to those toggles tells you how well the ends line up before you commit.
Import checklist
The current GLB handoff, followed by the planned FBX import sequence.
- 1 Download GLB from Studio. Generate the dance from your track in mvntSTUDIO, sign in, and download the current GLB export.
- 2 Inspect GLB or plan the FBX import. Open the GLB in a glTF viewer or Blender today. When FBX export is available, drop the .fbx into Assets, leave Convert Units on and Scale Factor at 1, and check the character against a reference cube before applying the import settings.
- 3 Plan the future rig setup. When the planned FBX export arrives, use the Rig tab to choose Humanoid or Generic. For Humanoid, Apply, then open Configure and clear any red bone slots before leaving the window.
- 4 Plan the future clip settings. When FBX export launches, use the Animation tab to name the clip, set Loop Time if it should repeat, and decide the Bake Into Pose state for rotation and position channels.
- 5 Plan the Animator wiring. For the planned FBX workflow, create an Animator Controller and drag the clip in as the default state. Put the character in the scene, assign the controller and the Avatar to its Animator component, and tick Apply Root Motion only if the clip should move the object.
- 6 Inspect now, play later. Inspect the current GLB in a viewer or Blender. Once the planned FBX export is available and imported, enter Play mode: a character stuck in T-pose means the Animator has no controller assigned or the Avatar failed to build. For cinematics, skip the controller and drop the future clip onto a Timeline Animation Track instead.
Symptom to cause
If you are already stuck, start here.
- The character is enormous or microscopic
- Scale Factor and Convert Units on the Model tab. Nothing else causes this.
- The dance previews correctly but the scene character does not move
- The Animator component has no controller, or the clip is not the default state, or the Avatar field is empty on a Humanoid setup.
- The clip plays but the character never leaves the origin
- Root Transform Position (XZ) is baked into the pose, or Apply Root Motion is off on the Animator.
- Retargeted onto a second character, the arms sit wrong
- Rest pose mismatch between the two Avatars. Re-check both in Configure with Enforce T-Pose, and expect residual drift on hand-to-body contact when proportions differ sharply.
- Animation imported but there is no mesh
- When the planned motion exports arrive, remember that BVH carries no geometry. Use the planned FBX export for anything that needs to be visible.
Where generated choreography fits in a Unity project
AI choreography is not a replacement for a keyframe artist. It is a way to get a beat-aligned draft into the engine on the same day you had the idea.
AI dance animation for Unity — common questions
- Can Unity import a GLB dance animation directly?
- GLB is the current download, but not out of the box: Unity’s built-in model importer does not read glTF or GLB. Add a third-party glTF package to the project or convert the file through Blender. For Unity’s native skeletal import path, use the planned FBX export when it becomes available.
- Should I choose Humanoid or Generic for a dance clip?
- Humanoid if the dance needs to play on more than one character, because Unity stores Humanoid clips in a normalised muscle space that retargets across skeletons. Generic if the character and the animation ship together and you would rather not maintain an Avatar — Generic plays the curves exactly as authored, bound to that specific transform hierarchy.
- Why is my imported dance animation the wrong size in Unity?
- Unity treats one unit as one metre. When the planned mvnt FBX export is available, its centimetre metadata should let Convert Units on the Model tab do the conversion with Scale Factor at 1. Measure the character against a default cube — about 1.66 units tall against a default cube — and Apply.
- Can I retarget the dance onto my own character?
- Yes, if both the source clip and your character are imported as Humanoid and both Avatars configure cleanly. Assign your character’s Avatar to its Animator and play the clip from a controller. Expect small contact-point drift — claps, hands on hips — when the two skeletons have noticeably different limb proportions.
- Is there a mvntSTUDIO plugin for Unity?
- No. mvntSTUDIO runs in the browser and gives you a file. You import that file the same way you would import any other model or animation asset, which also means nothing in your project depends on us staying installed.
- Do I need an account to download the animation?
- You can generate and review a dance scene in the browser without installing anything, but downloading the current GLB requires signing in. FBX and BVH downloads will be added when those planned exports launch.