Skip to content

Unreal Robotics Lab

Welcome to the documentation for Unreal Robotics Lab (URLab) — an Unreal Engine plugin that embeds the MuJoCo physics engine directly into the editor and runtime.

The plugin gives you research-grade contact dynamics alongside Unreal's rendering, Blueprint scripting, and editor tooling. Import a robot from MJCF XML (or build one in the component hierarchy), press Play, and MuJoCo handles the physics on a dedicated thread while Unreal handles everything visual.

Paper: Unreal Robotics Lab: A High-Fidelity Robotics Simulator with Advanced Physics and Rendering — ICRA 2026

BibTeX Citation
@inproceedings{embleyriches2026urlab,
  title     = {Unreal Robotics Lab: A High-Fidelity Robotics Simulator with Advanced Physics and Rendering},
  author    = {Embley-Riches, Jonathan and Liu, Jianwei and Julier, Simon and Kanoulas, Dimitrios},
  booktitle = {IEEE International Conference on Robotics and Automation (ICRA)},
  year      = {2026},
  url       = {https://arxiv.org/abs/2504.14135}
}

Guides

Guide What it covers
Getting Started Installation, first simulation, control methods
Features Complete feature reference
MJCF Import Importing MuJoCo XML models into Unreal
Geometry & Collision Primitives, mesh geoms, Quick Convert, heightfields
Controller Framework PD, keyframe, and custom controllers
Debug Visualization Hotkey-driven overlays: contacts, joints, islands, segmentation, muscle/tendon tubes
Interactive Perturbation Mouse-driven body drag: select, translate, rotate — simulate-compatible gestures
Camera Capture Modes Per-camera RGB / depth / semantic + instance segmentation
Possession & Twist Control WASD control, spring arm camera
Scripting with Blueprints Hotkeys, API usage, scripting workflows
ZMQ Networking & ROS 2 ZMQ transport, topics, camera streaming
URLab Bridge Python middleware, RL policies, remote control
Architecture Subsystem design, threading model, compilation pipeline

API Reference

The API Reference is auto-generated from C++ headers on each build. It covers every class, struct, and enum in the plugin.


Third-Party Software

Library License Role
MuJoCo Apache 2.0 Physics simulation engine
CoACD MIT Convex approximate decomposition
libzmq MPL 2.0 High-performance messaging

Full license texts are in ThirdPartyNotices.txt.


Contributing

URLab welcomes contributions. See the repo's CONTRIBUTING.md for the workflow, and use the issue templates for bug reports and feature requests.