RFUniverse: A Multiphysics Simulation Platform for Embodied AI

HomePage | Documentation | Python | Unity | Paper | Forum

RFUniverse is a novel simulation environment that can not only compute rigid and multi-body dynamics, but also multiphysics coupling effects commonly observed in daily life, such as air-solid interaction, fluid-solid interaction, and heat transfer. pyrfuniverse is a python package where users can get data from RFUniverse and operate objects in simulation. With pyrfuniverse, users can combine RFUniverse with multiple algorithms and data processing functions, which makes RFUniverse a great tool in embodied AI.

To help users get familiar with RFUniverse, we write this documentation and hope researchers who are interested in robotics and simulation can use RFUniverse to help their research and make RFUniverse a greater tool!

In introduction part, we also prepare other contents including Get Started, Understanding pyrfuniverse and Advanced Usage Guides. We strongly recommend users go through these pages before proceeding.


In tutorial part, we use 4 cases to teach users how to build an RL environment using Unity and pyrfuniverse from scratch. The 4 cases include rigid and multi-body dynamics, air-solid interaction, fluid-solid interaction as well as physics-based cutting. Meanwhile, all these environments are corresponding to the experiments in paper.

For users who are not familiar with Unity Editor, we also provide a ‘Quick Start’ option at the beginning where users can use our pre-build package directly.


In examples part, we provide several documented examples where users can test their installation, try our APIs, get familiar with pyrfuniverse API and usages, as well as extend their functions.

API Reference

In API Reference part, we provide the documentation of most important and most frequently used classes and functions in pyrfuniverse. Users can refer to them if our examples or tutorials are not enough.

Communication channels

GitHub Issue: bug reports, feature requests, etc.

Forum: discussion on the usage of RFUniverse and pyrfuniverse.


Update soon.