The project's README from github.com/facebookresearch/project_superdex. As one markdown file: README.md.
A unified platform for dexterous manipulation research
Welcome to Project SuperDex.
SuperDex brings together a purpose-built physics engine, robotics authoring tools, and a scalable reinforcement learning interface in a unified simulation platform, with VR-based teleoperation and additional capabilities planned for future releases.
Visit the Project SuperDex website for more.
| Threaded Screw | Manipulation |
|---|---|
The following videos were recorded in real-time using SuperDex Teleop (available in Q4 2026).
| Soft Sponge | Fruit Bag |
|---|---|
| Cereal Box | Rope Braid |
| Contact Viz | Puzzle Cube |
| Compose Bots | Soft Fingertips |
SuperDex Studio is the desktop application where you turn raw CAD and robot descriptions into native SuperDex Assets - bots, prefabs, and scenes. This is the GUI toolkit of Project SuperDex.
Click to learn more about SuperDex Studio.
| SuperDex Studio | Apply Forces |
|---|---|
SuperDex Lab connects simulation and policy development through a Gymnasium-style API for reinforcement learning. It is currently in early preview and will receive substantial improvements.
Click to learn more about SuperDex Lab.
SuperDex Teleop is the next major module coming to Project SuperDex. Initial components for Unreal Engine 5 based virtual teleoperation will be available in Q4 2026.
SuperDex Teleop runs natively on-device on Quest 3. No remote PC, no streaming. Includes support for both hand tracking and controllers including mixed mode. Runs in pure C++ for low-latency, real-time, scalable virtual teleop.
git clone --branch stable https://github.com/facebookresearch/project_superdex.gitstable branch always matches latest published releaseProject SuperDex has first-class support for Python across the board. The quickest way to get started is with uv and pypi wheels.
SuperDex Studio and SuperDex Physics Debugger require an available X11 display (native X11 or XWayland), a graphics driver supporting OpenGL 4.1, and the following runtime components:sudo apt install libgl1 libx11-6 libx11-xcb1 libxcb1 libxext6 libxrandr2 libxinerama1 libxcursor1 libxi6 zenitysudo dnf install libglvnd-glx libX11 libX11-xcb libxcb libXext libXrandr libXinerama libXcursor libXi zenitycd into the project_superdex source directoryuv venvuv pip install superdexSUPERDEX_PRECISION=double; otherwise, single precision is used.uv run --no-project superdex_physics/examples/example_tendon_comparison.pyuv run --no-project superdex_robotics/examples/control/example_osc_jsc_control.pyuv run --no-project superdex-studio--no-project is required for uv run cmds within this repo or else it will build from sourceClang (v17 or newer):
clang --version. The executable may be versioned instead (for example, clang-22 --version).wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 22
sudo dnf install clangBefore building, set CC and CXX to the Clang executables you verified above so CMake uses them.
Choose one:
# Unversioned executables
export CC=clang
export CXX=clang++
# Versioned executables: set this to your installed major version (17 or newer)
CLANG_VERSION=22
export CC="clang-${CLANG_VERSION}"
export CXX="clang++-${CLANG_VERSION}"
NOTE: If CMake already configured the build directory with different compilers, delete the build directory before trying again because CMake caches its compiler selection.
SuperDex Studio and SuperDex Physics Debugger source builds (uv sync --extra gui) additionally require:
sudo apt install libx11-dev libxext-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libxcb1-dev libgl1-mesa-devsudo dnf install libX11-devel libXext-devel libXrandr-devel libXinerama-devel libXcursor-devel libXi-devel libxcb-devel mesa-libGL-develxcode-select --installwinget install --exact --id Microsoft.VisualStudio.2022.BuildTools --override "--wait --passive --add Microsoft.VisualStudio.Workload.VCTools --includeRecommended --add Microsoft.VisualStudio.Component.VC.Llvm.Clang --add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset --add Microsoft.VisualStudio.Component.Windows11SDK.26100"cmake, ninja, uv, and the platform-specific Clang compiler are on PATH: clang and clang++ on Linux/macOS (versioned names such as clang-17 and clang++-17 are also supported), or clang-cl on Windows.x64 Native Tools Command Prompt matching your installed Visual Studio version (e.g. x64 Native Tools Command Prompt for VS 2022).cd into the project_superdex source directoryuv sync --extra gui -vuv run superdex_physics/examples/example_tendon_comparison.pyuv run superdex_robotics/examples/control/example_osc_jsc_control.pyuv run superdex-studioFlags for uv sync are:
| uv sync flags (additive) | Build targets |
|---|---|
| none | build tools only |
--extra core |
physics, robotics, lab |
--extra gui |
core + physics-debugger, studio, mesh-cli |
--extra double |
core + physics-fp64, robotics-fp64 |
--all-extras |
everything |
NOTE: Running the examples above requires --extra gui.
NOTE: --extra double builds the double-precision bindings, but single precision is still the default at runtime. To run Python examples in double precision, set the environment variable SUPERDEX_PRECISION=double.
Core modules such as SuperDex Physics and SuperDex Robotics are written in C++ and exposed to Python. Full C++ examples will be shared in the future. Users who are interested in calling C++ directly can get started via CMake.
x64 Native Tools Command Prompt matching your installed Visual Studio version (e.g. x64 Native Tools Command Prompt for VS 2022).cd into the project_superdex source directorycmake -B build -DCMAKE_BUILD_TYPE=Release -DMOCHI_BUILD_DEBUGGER=OFF -DMOCHI_USE_PYBIND=OFF -G Ninjacmake --build build --parallelNOTE: To build the C++ libraries in double precision, add -DMOCHI_USE_DOUBLE_PRECISION=ON when configuring CMake. Otherwise, single precision will be used by default.
Documentation, getting started guides, and examples are available for all modules.
We welcome contributions! Go to CONTRIBUTING and our CODE OF CONDUCT for how to get started.
Please report issues via GitHub Issues.
First-party SuperDex source code is licensed under Apache 2.0. Assets and documentation are licensed under CC-BY-4.0 except where otherwise noted. Third-party and derived code and assets retain their own terms, recorded in their accompanying LICENSE and NOTICE files. superdex_mesh_cli is an optional, standalone mesh processing CLI tool released under GPLv3 due to use of OCCT and CGAL.
Third-party license families represented in this repository include Apache-2.0, BSD-2-Clause, BSD-3-Clause, BSL-1.0, CC-BY-4.0, CC0-1.0, GPL-3.0-or-later, LGPL-2.1 with the OCCT exception, LGPL-3.0-or-later, MIT, MPL-2.0, SIL OFL-1.1, HDF5, libpng, public-domain, zlib, Zstandard, and component-specific commercial or asset terms. The accompanying license and notice files are authoritative for each component or asset.
Certain third party dependencies and third party assets in this repo are licensed for non-commercial/academic uses only. You must ensure that you, as the user, access and use such third party dependencies and assets in compliance with their respective licenses.
Citation details will be added here upon publication.