Skip to content

🎮 Use EmbodiedGen in Any Simulator

Leverage EmbodiedGen-generated assets with accurate physical collisions and consistent visual appearance across major simulation engines — IsaacSim, MuJoCo, Genesis, PyBullet, IsaacGym, and SAPIEN.

Universal Compatibility

EmbodiedGen assets follow standardized URDF semantics with physically consistent collision meshes, enabling seamless loading across multiple simulation frameworks — no manual editing needed.


🧩 Supported Simulators

Simulator Conversion Class
IsaacSim MeshtoUSDConverter
MuJoCo / Genesis MeshtoMJCFConverter
SAPIEN / IsaacGym / PyBullet .urdf generated by EmbodiedGen can be used directly

Simulator Integration Overview

This table summarizes the compatibility of EmbodiedGen assets with various simulators:

Simulator Supported Format Notes
IsaacSim USD / .usda Use MeshtoUSDConverter to convert mesh to USD format.
MuJoCo MJCF (.xml) Use MeshtoMJCFConverter for physics-ready assets.
Genesis MJCF (.xml) Same as MuJoCo; fully compatible with Genesis scenes.
SAPIEN URDF (.urdf) Can directly load EmbodiedGen .urdf assets.
IsaacGym URDF (.urdf) Directly usable.
PyBullet URDF (.urdf) Directly usable.

🧱 Example: Conversion to Target Simulator

from embodied_gen.data.asset_converter import cvt_embodiedgen_asset_to_anysim
from embodied_gen.utils.enum import AssetType, SimAssetMapper
from typing import Literal

simulator_name: Literal[
    "isaacsim",
    "isaacgym",
    "genesis",
    "pybullet",
    "sapien3",
    "mujoco",
] = "mujoco"

dst_asset_path = cvt_embodiedgen_asset_to_anysim(
    urdf_files=[
        "path1_to_embodiedgen_asset/asset.urdf",
        "path2_to_embodiedgen_asset/asset.urdf",
    ],
    target_dirs=[
        "path1_to_target_dir/asset.usd",
        "path2_to_target_dir/asset.usd",
    ],
    target_type=SimAssetMapper[simulator_name],
    source_type=AssetType.MESH,
    overwrite=True,
)

simulators_collision

Collision and visualization mesh across simulators, showing consistent geometry and material fidelity.