Unity-Technologies/Unity-Robotics-Hub

Central repository for tools, tutorials, resources, and documentation for robotics simulation in Unity.

Unity‑Robotics‑Hub – Simulation Pro

What it is – A Unity‑provided collection of packages, tutorials, and sample assets that turn the Unity game engine into a full‑featured robotics simulation platform. The centerpiece is Simulation Pro, a Unity package that lets you import robot models, simulate sensors, and exchange ROS 2 messages directly from a Unity scene.

Key capabilities

  • URDF importer – Drag‑and‑drop URDF files (the standard robot description format) into Unity and get a ready‑to‑use robot hierarchy.
  • Sensor simulation – Built‑in Lidar, RGB‑D cameras and IMU that produce realistic point clouds, images and inertial data.
  • ROS‑2 bridge – Publish and subscribe to ROS 2 topics from C# scripts, enabling a live connection to external ROS 2 nodes.
  • Headless Linux builds – Run Unity simulations on a server without a graphics UI, allowing parallel, high‑throughput experiments.

What you get out of the box

  • Sample Unity projects (e.g., a Panda arm, an AMR robot) that demonstrate each feature.
  • A five‑module, 5‑hour training course (written docs plus video on Unity Academy) that walks you through importing a robot, wiring ROS 2 messages, configuring sensors, building a complete simulation, and exporting data such as images, point clouds and CSV logs.
  • Documentation files (docs/*.md) that explain concepts, give step‑by‑step procedures, and provide checkpoints to verify each stage.

Typical workflow

  1. Install Unity 6.3+ and add the Simulation Pro package via the Unity Package Manager.
  2. Use the URDF importer to bring a robot (e.g., the provided Panda arm) into a Unity scene.
  3. Add the supplied sensor prefabs (LiDAR, camera, IMU) and configure their parameters.
  4. Enable the ROS‑2 endpoint connector to link the Unity simulation with a ROS 2 environment running on another machine (Ubuntu 26.04 with ROS 2 Lyrical is the reference setup).
  5. Run a Python rclpy node that commands the robot using the simulated sensor data.
  6. Capture simulation output (images, point clouds, logs) for analysis or machine‑learning training.

Who should use it

  • Robotics developers who want a visual, physics‑accurate testbed before deploying code to real hardware.
  • Researchers needing large‑scale, headless simulations for data generation (e.g., training perception models).
  • Engineers familiar with Unity and C# but new to ROS 2; the course assumes only Unity basics.

Getting started

  1. Clone the repository.
  2. Open Unity, create a new project (Unity 6.3+), and add Simulation Pro through the Package Manager.
  3. Follow the first module (docs/M1-Introduction.md) to import the Panda URDF and verify the scene.
  4. Continue through modules 2‑5 to add ROS 2 messaging, sensors, a live ROS 2 connection, and data capture.
  5. For ROS 2 setup, refer to the official ROS 2 Lyrical documentation – the hub does not install ROS for you.

Support & community

  • Questions: Unity Robotics forum thread linked in the README.
  • Bugs/feature requests: GitHub issues using the provided templates.

License – Apache 2.0 (permissive, allowing commercial use with attribution).


All details are taken directly from the repository’s README; no additional features are inferred.

Related

  • Project
  • Project
  • Project
  • Project