Skip to content
BetaThis project is currently in its beta version.Updates might take a while to roll out.There's still plenty of work left to do.Thanks for your patience while we keep building.
BetaThis project is currently in its beta version.Updates might take a while to roll out.There's still plenty of work left to do.Thanks for your patience while we keep building.
mHumanTrackAImHumanTrackAI

Installation

mHumanTrackAI runs on Windows 10/11 (x64). Release builds bundle their own Python 3.11 and the .NET 8 runtime, so end users do not need to install either separately.

Prerequisites

For end users:

  • Windows 10 or 11 (x64)
  • Any USB or built-in webcam (640×480 @ 30 fps or better)
  • For Gaming Mode: the ViGEmBus driver (see below)

For developers building from source, additionally:

  • Python 3.11 — not 3.12/3.13 (MediaPipe has no wheels for 3.13). Install from python.org and make sure the py -3.11 launcher works.
  • .NET 8 SDK

Install (end users)

  1. Go to the Download page and download the installer. It works on any Windows 10/11 (x64) machine.
  2. Run the installer (mHumanTrackAI-Setup.exe), or unzip the portable build and run the app directly. It detects whether you have a CUDA-capable NVIDIA GPU at install time and sets up the matching backend automatically.
  3. On first launch, the RTMW model files are downloaded automatically if they are not already bundled (see Model download blocked if your network blocks this).

No separate runtimes needed

The release bundle embeds CPython 3.11 (python.org embeddable package) and the .NET 8 runtime, and installs all Python dependencies into it. Nothing else is required on the target machine.

ViGEmBus driver

Gaming Mode presents a virtual Xbox 360 controller through the ViGEmBus kernel driver. The installer can set this up for you, or you can install it yourself from the Nefarius ViGEmBus releases.

Accessibility Mode does not require ViGEmBus — it uses Win32 SendInput.

GPU setup (CUDA)

The installer ships the CUDA 12 stack as pip wheels (onnxruntime-gpu, plus nvidia-cuda-runtime, cublas, cufft, cudnn, and nvrtc). On a CUDA-capable NVIDIA GPU, RTMW runs on the CUDA execution provider automatically; otherwise it falls back to CPU.

cuFFT must be present

If nvidia-cufft-cu12 is missing, the ONNX Runtime CUDA provider fails silently (with a misleading "cublasLt missing" error) and falls back to CPU. The installer installs it for you. See CUDA silent CPU fallback.

For the TensorRT FP16 fast path (~90 fps on an RTX 2060), pin tensorrt-cu12<11 — see TensorRT version pinning.

Build from source

The repository ships PowerShell scripts that automate the dev environment.

powershell
# 1. Bootstrap: creates engine\.venv, installs all Python deps, auto-detects
#    GPU (nvidia-smi) and installs the GPU or CPU RTM stack, pre-downloads the
#    RTMW models, and restores the .NET solution.
.\scripts\setup_windows.ps1

# Override GPU/CPU detection:
.\scripts\setup_windows.ps1 -Gpu
.\scripts\setup_windows.ps1 -Cpu
.\scripts\setup_windows.ps1 -CoreOnly    # IPC-only (pyzmq + jsonschema, fast)
.\scripts\setup_windows.ps1 -SkipModels  # skip model download

Build and run for development — the WPF app spawns the Python engine automatically:

powershell
.\scripts\run_dev.ps1

Run the pieces individually:

powershell
python -m engine.main                              # engine only (from repo root)
python -m engine.main --source mediapipe --view    # MediaPipe + OpenCV debug window
python -m engine.main --source dummy --duration 5  # no camera, runs 5 s then exits
python -m engine.tools.rtm_benchmark               # compare CPU vs CUDA FPS
cd engine; python -m pytest                         # Python test suite

Produce a release build (portable folder + Inno Setup installer):

powershell
.\scripts\build_release.ps1

Output lands in dist\mHumanTrackAI\ (portable) and dist\mHumanTrackAI-Setup.exe (installer). The installer bundles both the CPU and CUDA stacks and writes edition.json based on the hardware it detects at install time.