Simulation Backends¶
UniLab currently uses two backend names in registry/config paths: 1-mujoco and
2-motrix. User commands select them with --sim, which routes to the matching
task owner YAML; do not switch a run by overriding training.sim_backend alone.
Runtime Prerequisites¶
Install Motrix support with
uv sync --extra motrix.Any run using
--sim mujoco, MuJoCo playback, or MuJoCo-only debugging tool still requires a working MuJoCo runtime.On macOS, the package CLI routes Motrix interactive playback through
mxpythonwhen needed. Direct script calls that open the native Motrix renderer should useuv run mxpython.
Select A Backend¶
uv run train --algo ppo --task go1_joystick_flat --sim mujoco
uv run train --algo ppo --task go1_joystick_flat --sim motrix
Owner YAML locations:
PPO / APPO:
conf/{ppo,appo}/task/<task>/<backend>.yamlOff-policy:
conf/offpolicy/task/<algo>/<task>/<backend>.yaml
The selected owner YAML sets training.sim_backend as an identity field.
Playback Differences¶
--render-mode autoexportsplay_video.mp4on MuJoCo paths.--render-mode autoopens Motrix native interactive rendering on Motrix paths.--render-mode recordrecords without opening an interactive window.--render-mode nonedisables playback.
uv run eval --algo ppo --task go1_joystick_flat --sim mujoco --load-run -1
uv run eval --algo ppo --task go1_joystick_flat --sim motrix --load-run -1 \
--render-mode record
Support Evidence¶
Task/backend/entrypoint support is evidence-graded. See Support Matrix for the support matrix entry and links to the generated source data.