MotionBricks is NVIDIA’s real-time motion model for game characters and humanoid robots. You tell it which poses a character should reach, and it works out how to get there: the steps, the timing, the vault over a bench. The research team reports 2 milliseconds per generation from a single model trained on a dataset of 350,000 motion clips, and the code and trained models are now public. This article explains how it works, how far to trust the numbers, what the licences allow and what European game studios and robotics teams can realistically do with it today.

What MotionBricks is

MotionBricks comes from the GEAR lab at NVIDIA Research, with co-authors from ETH Zürich, Simon Fraser University and the University of Texas at Austin. The paper was published in ACM Transactions on Graphics and presented at SIGGRAPH 2026 in July.

It targets one of the most expensive parts of interactive animation. Characters in games usually run on an animation graph: a state machine of pre-recorded clips with hand-authored transitions between walking, running, crouching, vaulting and sitting. The paper cites the animation state machine used in Assassin’s Creed, which may require more than 15,000 animations, 5,000 states and graphs nested up to 12 levels deep. Every new behaviour makes the graph harder to maintain, which is why high-quality runtime animation has mostly stayed with large studios.

MotionBricks replaces those hand-made transitions with one neural network. The game or the robot decides where a character should go and in which pose it should arrive. The model generates the motion in between. Behaviours such as walking, vaulting or sitting become reusable building blocks that snap together without retraining.

How MotionBricks works

The core idea is in-betweening, the old animation term for drawing the frames between key poses. At 30 frames per second, each generation receives two sets of poses:

  • Context: the character’s four most recent poses, which carry its current posture and speed.
  • Targets: one to four poses the character must reach. One pose sets where it stops. More poses also set the speed and momentum at that point, so the character can move through the target instead of halting.
Green context poses on the left, a blue target pose on the right and grey in-between poses generated by the model
Green is where the character comes from, blue is where it has to go. The model picks the duration and fills in the grey in-between poses. Image: NVIDIA, CC BY 4.0.

The model chooses how long the transition takes, typically 0.6 to 1.9 seconds of motion per generation. Three trained modules share the work. A root module predicts the duration and the path of the pelvis. A pose module, the largest part, predicts discrete motion tokens along that path, much as a language model predicts word pieces. A decoder turns those tokens into continuous motion, including foot contacts, that lands on the targets.

Longer motion comes from chaining. The runtime plays the result, records what it played and uses the last four poses as the context for the next generation. When the player changes direction, the system simply replans.

Diagram of the MotionBricks loop: building block, target poses, root module, pose module, decoder and back to context
Your application picks the goal, MotionBricks generates the motion and the last four poses feed back as context. Continuous motion is built from short pieces of 0.6 to 1.9 seconds.

Smart primitives, the actual bricks

On top of the model sit what NVIDIA calls smart primitives. Smart locomotion turns gamepad or keyboard commands (speed, heading and style) into target poses, so walking, jogging, stealth, strafing, crouching or a zombie gait all come from the same model with smooth transitions between styles. Smart objects describe an interaction as a few key poses around an object, such as hands on the edge of a bench and the landing behind it. The model fills in the approach, the contact and the follow-through. Because the poses rotate with the object, the same bench works from any angle.

According to the paper, a non-expert can author such a primitive in Unreal Engine 5 in under ten minutes. The team used them to build an uncut 2 minute 40 second demo in Unreal Engine 5 in which a character walks, climbs, falls, picks up a sword and sits down, with no hand-authored transitions.

A grey test character in the MotionBricks Scene Preview walks past blocks and sits down on a pink cube
The Scene Preview from the released code: one model handles walking, avoiding and sitting. Image: NVIDIA, CC BY 4.0, shortened.

From game characters to a Unitree G1

NVIDIA also trained a version for the Unitree G1 humanoid, on the same motion data retargeted to the robot’s skeleton. On the robot’s Jetson Orin module a generation takes 5 milliseconds, with replanning ten times per second or whenever the command changes. MotionBricks now powers the motion-generation layer of GR00T Whole-Body Control, NVIDIA’s open framework for humanoids.

The output is kinematic: a sequence of desired poses, not motor commands. A separate tracking controller keeps the robot balanced while it follows the motion. That split matters for anyone thinking about deployment, and we return to it below. For a wider view of where humanoids stand, see our analysis of physical AI in the next decade.

What the numbers say

The team compared MotionBricks with six in-betweening methods on a test set of about 35,000 clips:

  • Speed: 2 ms per generation and a throughput of 15,000 frames per second on a desktop with an RTX 5090.
  • Precision: the motion reaches the target within 5 cm and 15 degrees in 99.6% of cases. The best competing method reached 87.7%, diffusion models at most 78.2%.
  • Human judgement: in a study with 40 participants from animation and robotics, MotionBricks was picked as best in 86.5% of trials, each against two other methods.
  • Physical plausibility: the lowest foot sliding of all methods tested on the main dataset.
Bar chart: MotionBricks reaches 99.6 percent of targets in 2 ms, other methods between 34.8 and 87.7 percent
How often the motion reaches its target and how long one generation takes, on the 350,000-clip dataset. Figures reported by the authors (paper, table 3), not yet independently reproduced.

Read them with two caveats. The main comparison uses a proprietary dataset from Bones Studio (Bones RigPlay 1) of about 700 hours of motion capture, with 9,300 distinct skills from 163 performers. On the smaller public datasets HumanML3D and LaFAN1 the lead is smaller, other methods match it or do marginally better on diversity, and on the robot benchmark LaFAN1-G1 MotionBricks reaches the target in only 61.1% of cases. And the speed comes from a top-end GPU, while the released demos were tested on an RTX 4090.

What is in the release, and under which licence

The GitHub repository and the Hugging Face page provide trained models for the SOMA human skeleton and the Unitree G1 (ONNX files plus checkpoints of roughly 200 million parameters), a Python runtime built on NVIDIA Warp, Newton and TensorRT, two demos (the Inbetweener and the Scene Preview), and two editors to author your own primitives and scenes. It needs an NVIDIA GPU. Not included: the training pipeline, the full training data and the Unreal Engine plugin used in the paper’s demo. An earlier preview inside GR00T Whole-Body Control does ship a synthetic training loop with instructions for the open BONES-SEED dataset from Bones Studio.

Besides CC BY 4.0 for documentation and media, three licences matter, and legal teams will want to see the difference:

Component Licence In practice
Code and examples Apache 2.0 free to use and modify, including commercially
Trained models NVIDIA Open Model Agreement commercial use and redistribution of modified models allowed, with the licence and attribution notices kept; the licence ends if you sue claiming the model or its output infringes a patent or copyright
Bundled sample motions NVIDIA Sample Data Evaluation License evaluation and testing only, not for a shipped product

The practical consequence: you can build on the models, but the motion clips you use to define key poses and styles in production have to come from your own capture or from data you have licensed.

What it means for European game studios

For a mid-sized studio that cannot staff a large animation team for every new behaviour, the attraction of MotionBricks is not raw speed but authoring cost: fewer transition clips to capture, clean up and wire into a graph. The established alternative is motion matching, which now ships in Unreal Engine 5 and comes with Epic’s free sample of more than 500 animations. Motion matching searches a database for the best existing fragment. MotionBricks generates new motion, so it can produce transitions that were never captured, but it also inherits the gaps in its training data.

We found no shipped game that uses MotionBricks yet, and the released runtime is a Python reference rather than an engine plugin. That makes it a good candidate for prototyping and for tools such as previsualisation, crowd or NPC behaviour, rather than a drop-in replacement for a hero character’s animation.

What it means for robotics teams in Europe

For robotics, MotionBricks is a motion planner, not a controller. The model cards say plainly that the generated motion “is not validated for physical robot control”, and that a downstream controller has to track it under robot dynamics and physical limits. Anyone putting a humanoid near people in Europe should plan for the new Machinery Regulation, which applies from 20 January 2027 and puts machinery with self-evolving, machine-learning safety functions under stricter conformity assessment, and for the emerging humanoid safety standard ISO 25785-1. A generative motion layer will need limits, monitoring and tests that sit outside the model.

The G1 model is directly relevant to labs that already work with that robot, as in the table tennis doubles research we covered. For other robots, you would need to retarget motion data to your own embodiment and train, and the paper is candid that high-quality retargeting for the G1 took months.

A 30-day way to test it

Week Game studio Robotics team
1 Run the Inbetweener and Scene Preview, follow the guided tutorial Run the G1 demos in simulation, read the G1 model card
2 Rebuild one existing interaction (a vault, a sit) as a smart primitive with your own clips Generate reference motion for two tasks and track it in simulation with your controller
3 Compare authoring time and look with your current graph or motion matching setup Measure tracking error, joint limits and failure cases; log every unsafe pose
4 Decide on an engine integration path via ONNX and check the licences with legal Write down the safety layer you would need before any hardware test

Where MotionBricks still falls short

  • Rare motions are thin. The paper mentions a single clip for vaulting a 0.5 m obstacle.
  • No physics. As a kinematic planner it can produce self-collisions or motions a robot cannot safely execute, such as risky flips.
  • No visual planning. In a game the system knows exactly where the bench is. A real robot has to infer that from noisy sensors, which disables smart objects outside simulation for now.
  • Retargeting stays hard. Real-time retargeting is fast but lower quality; offline retargeting is accurate but slow.

The real shift is the interface

The most interesting idea in MotionBricks is not the 2 milliseconds. It is that one interface, key poses placed around a goal, serves both a game character vaulting a bench and a humanoid robot walking, crouching or sitting. If that interface holds up in production, the skill that matters moves from wiring transition graphs to choosing good key poses and good data. For European teams, that favours whoever owns well-licensed motion data and the safety engineering around it.

Frequently asked questions about NVIDIA MotionBricks

Is MotionBricks free for commercial use?

The code is Apache 2.0 and the models fall under the NVIDIA Open Model Agreement, which allows commercial use. The bundled sample motions are for evaluation only.

Does MotionBricks work in Unreal Engine or Unity?

Not out of the box. NVIDIA built an Unreal Engine 5 plugin for the paper but has not released it. The release provides ONNX models and a Python runtime that you can integrate yourself.

What hardware do I need?

An NVIDIA GPU. The demos were tested on an RTX 4090 under Windows and Linux; the paper’s 2 ms figure was measured on an RTX 5090.

Can I control MotionBricks with text prompts?

No. It is driven by poses, speed and heading. For text-to-motion, NVIDIA has a separate project, Kimodo.

Can I use it on a robot other than the Unitree G1?

Only SOMA and G1 models are available. Another robot needs retargeted data, your own training, a separate controller and safety validation.