Languages: English | 简体中文
One task-authoring surface for locomotion, manipulation, and motion tracking.
UniLab is configurable infrastructure for robot reinforcement learning. Describe a task with Hydra, assemble it from manager terms, select a physics backend, and train or evaluate through one CLI. The same task-facing contract connects CPU, GPU, and external-worker simulation to the learner runtime.
The same framework has documented paths for Windows, Apple Silicon macOS, Linux CUDA, AMD ROCm, and Intel XPU. Backend and task maturity are evidence-graded; use the support matrix to choose a tested combination.
See policies in action on the project page, or read Why UniLab? to understand the project fit, evidence, and comparison with alternatives.
UniLab's core idea is simple: define task semantics once as reusable configuration, then change the simulator, hardware, or learner without rewriting the task's environment lifecycle.
- Configure, don't code. Actions, observations, rewards, terminations, events, commands, curricula, and metrics are manager terms assembled in Hydra owner YAML. Variants built from existing terms need no new environment class — often no Python code at all.
- Change the backend, keep the workflow. Registered simulators meet the
public
SimBackendcontract. Choose a backend with--sim; when a matching task owner exists, task authoring and train/eval stay consistent while backend-specific details remain explicit. - Keep solver and learner devices independent. CPU-parallel, native, or external-worker simulation can feed an accelerator learner without first becoming a CUDA-resident simulator. The learner can run on CUDA, ROCm, MPS, or XPU; the support matrix records the evidence level of each backend/task combination.
- Accelerate replay-based off-policy training. FastSAC/FlashSAC lets simulation data collection overlap with learner updates. The paper reports 3–10× end-to-end gains on representative configurations; see Why UniLab for scope and measurements.
The supported source workflow uses uv. This is
the shortest path to a policy demo:
curl -LsSf https://astral.sh/uv/install.sh | sh
git clone https://github.com/unilabsim/UniLab.git
cd UniLab
make setup
# Downloads the checkpoint and assets from Hugging Face on first run.
uv run demo danceFor Windows, macOS, CUDA, ROCm, XPU, optional backends, and headless rendering, use the installation guide and quick demo guide.
# Train and replay one task with Motrix.
uv run train --algo ppo --task go2_joystick_flat --sim motrix
uv run eval --algo ppo --task go2_joystick_flat --sim motrix --load-run -1
# Use the same task-facing command with another configured backend.
uv run train --algo ppo --task go2_joystick_flat --sim mujoco
# Replay-based off-policy path.
uv run train --algo sac --task g1_walk_flat --sim mujocoThe flags keep algorithm, task, and simulator choices visible. Resume, W&B, Hydra overrides, playback, backend setup, and the full command matrix belong in the training guide, backend guide, and support matrix.
UniLab is designed to be a shared task and training surface for robot-specific repositories. Current downstream examples include MicroDuck RL and EngineAI RL. They can ship robot recipes independently while consuming the same task, backend, and RL contracts.
- Why UniLab?
- Installation and first demo
- Training and evaluation
- Backend support matrix
- Sim-to-sim deployment
- Developer guide
For development and contribution workflows, see the contributing guide.
Add the UniLab assistant on WeChat to join the community.
@article{jia2026unilab,
title = {UniLab: A Heterogeneous Architecture for Robot RL Beyond GPU-Dominant Paradigms},
author = {Jia, Yufei and Cao, Zhanxiang and Yu, Mingrui and Zhang, Heng and Chen, Shenyu and Jiang, Dixuan and Li, Meng and Li, Xiaofan and Liu, Yiyang and Wu, Junzhe and Li, Zheng and Fang, XiLin and Cui, Tingyu and Fu, Shengcheng and Li, Haoyang and Wang, Anqi and Wang, Zifan and Zhu, Dongjie and Cao, Chenyu and Huang, Zhenbiao and Zheng, Ziang and Lu, Jie and Ma, Xin and Wei, Zhengyang and Zhao, Xiang and Zhan, Tianyue and He, Ye and Chen, Yuxiang and Jiang, Yizhou and Li, Yue and Ge, Haizhou and Dong, Yuhang and Jia, Fan and Zhang, Ziheng and Zhang, Meng and Deng, Xiwa and Chen, Zhixing and Shao, Hanyang and Dong, Chenxin and Li, Yixuan and Chen, Yizhi and Chen, Bokui and Zhang, Kaifeng and Cui, Hanqing and Qin, Yusen and Huang, Ruqi and Han, Lei and Wang, Tiancai and Li, Xiang and Gao, Yue and Zhou, Guyue},
journal = {arXiv preprint arXiv:2605.30313},
year = {2026},
url = {https://arxiv.org/abs/2605.30313}
}UniLab is released under the Apache License 2.0. See the independent UniSim and UniLab RL repositories for their own release and citation information.
UniLab would not exist without the excellent work of the Isaac Lab team and the mjlab developers and contributors. Isaac Lab's manager-based API design and abstractions, together with mjlab's clear, lightweight reference implementation, helped shape UniLab's Hydra and NumPy task authoring experience. We sincerely thank both communities for sharing their work and ideas.

