Meta-World: Robotics Benchmark for Multi-Task and Meta-RL

Jul 10, 2025

Introduction

Developing robots that can adapt to new tasks without extensive retraining is a central challenge in modern robotics. Meta-World is an open-source simulated benchmark designed to solve this by providing a broad distribution of robotic manipulation tasks. With its comprehensive suite of 50 distinct environments, it allows researchers to evaluate how well reinforcement learning (RL) agents can generalize to unseen behaviors, moving beyond the narrow task distributions typical of earlier benchmarks.

What Is Meta-World?

Meta-World is a robotics simulation benchmark that provides 50 distinct robotic manipulation tasks for evaluating meta-reinforcement learning (meta-RL) and multi-task learning. Built on the MuJoCo physics engine, it features a simulated Sawyer arm on a tabletop environment with various everyday objects. The project is maintained by the RL Workgroup and is released under the MIT License, ensuring it remains a standard for academic and industrial research in continuous control.

The framework is designed to test the generalization ability of RL algorithms. Instead of training an agent on a single task, Meta-World encourages the development of policies that can acquire a generalizable set of skills and compose them in novel ways to adapt to new, held-out tasks.

Why Meta-World Matters

Before Meta-World, many meta-RL benchmarks focused on narrow distributions—for example, changing only the running velocity of a simulated robot. Such narrow distributions do not truly test an agent’s ability to acquire entirely new behaviors. Meta-World fills this gap by providing a diverse set of 50 manipulation tasks, forcing agents to learn a broad range of skills (e.g., picking, placing, pushing, and opening doors) that are more representative of real-world robotic needs.

The benchmark’s significance is highlighted by its adoption in numerous high-profile research papers and its integration into larger toolkits like the Farama Foundation’s Gymnasium. By providing a standardized way to measure multi-task success rates, it has become a critical tool for researchers aiming to achieve general-purpose robotic intelligence.

Key Features

  • Diverse Task Suite: Includes 50 distinct robotic manipulation tasks, such as opening a door, picking and placing objects, and pressing buttons, providing a broad distribution for generalization testing.
  • Standardized Benchmarks: Offers pre-defined benchmark sets like MT10, MT50, ML10, and ML45, which standardize the way researchers evaluate multi-task and meta-learning performance.
  • MuJoCo Integration: Leverages the MuJoCo physics engine for high-fidelity, continuous control simulation of a 7-DoF Sawyer arm.
  • Gymnasium API Compatibility: Follows the standard Gymnasium (formerly OpenAI Gym) API, making it easy to integrate with existing RL libraries and algorithms.
  • One-Hot Task Identification: In multi-task benchmarks (MT10/MT50), the environment provides one-hot task IDs appended to the state, allowing agents to distinguish between different tasks.
  • Parametric Goal Variation: Supports goal variation within a single task (ML1), allowing researchers to test few-shot adaptation to different object positions.

How Meta-World Compares

Feature Meta-World DeepMind Control Suite PyBullet/Gym Robotics
Primary Focus Multi-Task/Meta-RL General Control Single Task Robotics
Task Diversity High (50 Tasks) Moderate Low
Physics Engine MuJoCo MuJoCo PyBullet
API Standard Gymnasium dm_control Gymnasium

Meta-World differentiates itself by focusing on the distribution of tasks. While the DeepMind Control Suite provides excellent environments for testing basic motor skills, Meta-World is specifically engineered to test if an agent can learn a set of skills and then apply them to a completely new task. This makes it the gold standard for meta-learning research.

Compared to PyBullet-based environments, Meta-World offers a more structured and standardized benchmark (like ML45), which prevents the “cherry-picking” of results that often occurs in single-task robotics research. The trade-off is the dependency on MuJoCo, which historically required a license, though it is now open-source.

Getting Started: Installation

Meta-World requires the MuJoCo physics engine. Ensure you have MuJoCo installed and configured on your system before proceeding with the package installation.

Using pip

The simplest way to install Meta-World is via pip:

pip install metaworld

Installing from Source (Editable Mode)

For researchers who wish to modify the environment logic or contribute to the project, installing in editable mode is recommended:

git clone https://github.com/rlworkgroup/metaworld.git
cd metaworld
pip install -e .

Prerequisites: Meta-World supports Python 3.10 through 3.13 on Linux and macOS. Windows support is not officially supported but may be possible via WSL2.

How to Use Meta-World

Meta-World is designed to be used with the Gymnasium API. To get started, you can create a single-task environment or a benchmark set.

The basic workflow involves initializing the environment, resetting it to get the initial observation, and then stepping through the environment using actions from your RL agent. In multi-task settings, the agent receives a task ID to identify which of the 50 tasks it is currently performing.

For example, if you are using the MT50 benchmark, your agent will be trained on all 50 tasks simultaneously, and the observation space will include a one-hot vector representing the current task.

Code Examples

The following examples demonstrate how to interact with Meta-World using the Gymnasium API.

Single Task Example

This example shows how to initialize a specific task, such as the “reach” task, and take a random action.

import gymnasium as gym
import metaworld

env = gym.make("Meta-World/MT1", env_name="reach-v3")
observation, info = env.reset()

for _ in range(500):
    action = env.action_space.sample()
    observation, reward, terminated, truncated, info = env.step(action)
    if terminated or truncated:
        break

env.close()

Multi-Task Benchmark Example

This example demonstrates how to interact with a multi-task benchmark like MT10, where the agent must learn to solve multiple tasks simultaneously.

import gymnasium as gym
  import metaworld

  # Create a multi-task environment for 10 tasks
  env = gym.make("Meta-World/MT10")
  observation, info = env.reset()

  for _ in range(500):
      action = env.action_space.sample()
      observation, reward, terminated, truncated, info = env.step(action)
      if terminated or truncated:
        break

  env.close()

Real-World Use Cases

Meta-World is primarily used in academic research to advance the state of the art in reinforcement learning. Key use cases include:

  • Evaluating Meta-RL Algorithms: Researchers use the ML45 benchmark to test if an agent can learn to learn. Specifically, they train on 45 tasks and evaluate on 5 held-out tasks to see if the agent can adapt to entirely new behaviors.
  • Developing Multi-Task Policies: Developers use the MT50 benchmark to create a single neural network policy that can perform all 50 manipulation tasks, testing the limits of policy capacity and task interference.
  • Benchmarking Vision-Language-Action (VLA) Models: Modern VLA models are being fine-tuned on Meta-World tasks to evaluate their generalizability to out-of-distribution (OOD) robotic manipulation in simulated environments.
  • Studying Knowledge Transfer: By selecting specific subsets of tasks (e.g., all “pushing” tasks), researchers can study how learning one task helps or hinders the learning of a related task.

Contributing to Meta-World

Meta-World is an open-source project and encourages contributions from the community. You can contribute by adding new tasks, improving the physics simulation, or fixing bugs in the environment wrappers. The project follows standard GitHub flow: report bugs via issues and submit improvements via pull requests.

The project maintains a clear focus on maintaining the integrity of the benchmark for reproducibility. Any changes to the reward functions or physics parameters must be documented and versioned to avoid breaking previous research results.

Community and Support

The primary hub for Meta-World development and support is the official GitHub repository. For real-time coordination and technical discussions, the project maintains a public Discord server (https://discord.gg/bnJ6kubTg6), which is used by researchers and developers to coordinate development work and troubleshoot installation issues.

Documentation is available at metaworld.farama.org, which provides detailed guides on the API and the benchmark sets.

Conclusion

Meta-World is an essential tool for anyone working on general-purpose robotic intelligence. By providing a diverse and standardized set of 50 manipulation tasks, it forces RL agents to move beyond narrow specialization and toward true generalization. Whether you are a researcher evaluating a new meta-RL algorithm or a developer building multi-task policies, Meta-World provides the necessary infrastructure to evaluate your agent’s performance objectively.

If you are looking to build robots that can adapt to new environments and learn from a few examples, Meta-World is the right choice. Star the repo, try the quickstart, and join the community to help advance the future of robotic manipulation.

What is Meta-World and what problem does it solve?

Meta-World is a simulated robotics benchmark that provides 50 diverse manipulation tasks. It solves the problem of narrow task distributions in RL research, allowing researchers to evaluate if an agent can generalize to entirely new behaviors rather than just adjusting to small parametric changes.

How do I install Meta-World?

You can install Meta-World using pip install metaworld. However, you must first install the MuJoCo physics engine on your system, as it is a proprietary dependency that the package cannot install automatically.

How does Meta-World compare to other robotics benchmarks?

Unlike many benchmarks that focus on a single task or a few similar tasks, Meta-World provides a broad distribution of 50 tasks. This makes it specifically designed for meta-learning and multi-task learning, whereas other suites like DeepMind Control Suite are more focused on general motor control.

Can I use Meta-World for vision-based RL?

Yes, Meta-World includes an ImageEnv wrapper that allows agents to receive RGB observations from simulated cameras, making it suitable for research into vision-language-action (VLA) models and image-based RL policies.

What are the MT50 and ML45 benchmarks?

MT50 is a multi-task benchmark where the agent is trained on all 50 tasks simultaneously. ML45 is a meta-learning benchmark where the agent is trained on 45 tasks and then evaluated on 5 held-out tasks to test few-shot adaptation to new behaviors.

What license does Meta-World use?

Meta-World is released under the MIT License, which allows for wide academic and industrial use with minimal restrictions.

Can I use Meta-World on Windows?

Meta-World is not officially supported on Windows. It is recommended to use Linux or macOS, or use Windows Subsystem for Linux (WSL2) to run the simulations.