Repolode
URLab-Sim

URLab-Sim/UnrealRoboticsLab

An Unreal Engine 5 plugin that runs MuJoCo physics inside the editor and runtime, pairing accurate contact dynamics with Unreal's rendering.

Stars
564
Forks
67
Open issues
9
Last commit
27 days ago

What is it?

UnrealRoboticsLab (URLab) embeds the MuJoCo physics engine into Unreal Engine 5, so robots are simulated with MuJoCo's contact dynamics and rendered with Unreal's lighting, materials, and cameras. Physics runs on its own thread while Unreal handles rendering.

MJCF .xml models can be dragged into the Content Browser to produce an articulation Blueprint ready to simulate, including joints, actuators, tendons, muscles, and flexcomp. Any static mesh can also be turned into a physics body with a single component.

Robots can be driven from Blueprints, an in-editor dashboard, or Python and ROS 2 over the network, with PD controllers and live gain tuning. Robot cameras can output RGB, depth, and segmentation data using real camera intrinsics, and episodes can be recorded and replayed deterministically.

Key features

  • 01Imports MJCF models into ready-to-simulate Articulation Blueprints.
  • 02Runs MuJoCo physics on a separate thread alongside Unreal rendering.
  • 03Controls actuators from Blueprints, the editor dashboard, Python, or ROS 2.
  • 04Captures RGB, depth, and segmentation from robot cameras.
  • 05Records and replays simulation episodes deterministically.
  • 06Provides visual debugging overlays for islands, tendons, muscles, and collisions.

Use cases

  • Simulating robot arms or legged robots with photorealistic camera output for vision training.
  • Generating labeled RGB, depth, and segmentation data from simulated robot cameras.
  • Prototyping robot control policies in Python or ROS 2 against a MuJoCo model inside Unreal.
  • Replaying recorded robot episodes for debugging and evaluation.

Quick start

  1. 1

    Clone the plugin with submodules into your project's Plugins folder

    git clone --recurse-submodules https://github.com/URLab-Sim/UnrealRoboticsLab.git
  2. 2

    Build the native dependencies once (use build_all.ps1 on Windows)

    ./build_all.sh
  3. 3

    Build your Unreal Engine C++ project

Things to know

  • Only Unreal Engine 5.7 is tested and supported, and 5.8 is to be avoided due to Linux Vulkan driver regressions.
  • Your project must be a C++ project, since URLab is a C++ plugin.
  • Supported platforms are Windows (Win64) and Linux (x86_64) only.
  • Building the bundled dependencies requires CMake 3.24+ and a compiler setup.

In collections

Topics

FAQ

What is UnrealRoboticsLab?
An Unreal Engine 5 plugin that runs MuJoCo physics inside the editor and runtime, pairing accurate contact dynamics with Unreal's rendering. UnrealRoboticsLab (URLab) embeds the MuJoCo physics engine into Unreal Engine 5, so robots are simulated with MuJoCo's contact dynamics and rendered with Unreal's lighting, materials, and cameras. Physics runs on its own thread while Unreal handles rendering.
Is UnrealRoboticsLab free to use? What license does it have?
UnrealRoboticsLab is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is UnrealRoboticsLab still maintained?
Actively maintained. The last commit to UnrealRoboticsLab was on Oct 11, 2026.
What can I use UnrealRoboticsLab for?
Simulating robot arms or legged robots with photorealistic camera output for vision training. Generating labeled RGB, depth, and segmentation data from simulated robot cameras. Prototyping robot control policies in Python or ROS 2 against a MuJoCo model inside Unreal. Replaying recorded robot episodes for debugging and evaluation.
How do I install UnrealRoboticsLab?
Clone the plugin with submodules into your project's Plugins folder: git clone --recurse-submodules https://github.com/URLab-Sim/UnrealRoboticsLab.git Build the native dependencies once (use build_all.ps1 on Windows): ./build_all.sh Build your Unreal Engine C++ project
Where can I get UnrealRoboticsLab?
The source code and installation instructions are on GitHub: https://github.com/URLab-Sim/UnrealRoboticsLab

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects