Building#

Warning

OpenUSD support is currently experimental and subject to frequent change.

MuJoCo must be built against a pre-built USD library, we provide a utility to do so but you may also bring your own USD libraries.

The following instructions assume that you have cloned MuJoCo into ~/mujoco and have a build directory at ~/mujoco/build.

Building USD#

If you have a pre-built USD library, you can skip this section.

MuJoCo provides a CMake project that simplifies the process of building USD. It will download and build USD with only the necessary features enabled.

cd ~/mujoco
cmake -Bcmake/third_party_deps/openusd/build cmake/third_party_deps/openusd
cmake --build cmake/third_party_deps/openusd/build

If you want to customize the build process, you can use USD’s build_usd.py script. It’s recommended to use a separate installation directory that exists outside of the cloned repository directory.

git clone https://github.com/PixarAnimationStudios/OpenUSD
python OpenUSD/build_scripts/build_usd.py /path/to/my_usd_install_dir

Enabling USD#

If USD was built with the third_party_deps/openusd CMake project, you can enable USD support with the MUJOCO_WITH_USD flag.

cd ~/mujoco
cmake -Bbuild -S. -DMUJOCO_WITH_USD=True
cmake --build build -j 64

Otherwise, if you have a pre-built USD library, you must also pass the pxr_DIR flag.

cd ~/mujoco
cmake -Bbuild -S. -DMUJOCO_WITH_USD=True -Dpxr_DIR=/path/to/my_usd_install_dir
cmake --build build -j 64

If we now run simulate.cc, we will be able to drag and drop USD files.

simulate