QTM Connect for Unreal is an Unreal plugin that supports streaming of skeleton, rigid body, marker, force and timecode data between Qualisys Track Manager and Unreal Engine.
You can find the plugin on Unreal Engine Marketplace HERE
- Start QTM in preview mode or file mode being sure there is a skeleton to stream. An example qtm file including a skeleton is provided in
.\Example Project
- Enable
LiveLink
andQTMConnectLiveLink
in Unreal underEdit->Plugins
. - Go to
Window->Live Link
, clickAdd->QTM Connect LiveLink
- Enter the QTM IP address and port and click Create.
- If the Skeleton of the Skeletal Mesh that you wish to animate matches the skeleton data being streamed from QTM (same bone names and hierarchy), then skip steps 5-7.
- In the Content Browser, click
Add New->Blueprint Class
and expandAll Classes
and search forQualisysLiveLinkRetargetAsset
, and clickSelect
. - Double-click the retarget asset and go to
Details->Bone Mapping
and expand theBone Mapping
variable. - In the right column, fill in the names of the Skeleton bones that best correspond to the QTM skeleton bones seen in the left column. If there is no corresponding bone or the bone name already matches the QTM bone name, leave it as "None".
- In the Content Browser, go to the Skeletal Mesh that you wish to animate and
Right-click->Create->Anim Blueprint
. Give it a name and then double click on it. - Right-click anywhere in the animation graph and search for the Live Link Pose node.
- Enter the subject name (the name of the skeleton being streamed from QTM), and connect the output pose to the input pose of the Final Animation Pose node.
- Click on the
Live Link Pose
node and go toDetails->Retarget->Retarget Asset
and select the retarget asset you created in step 5, or choose the QualisysLiveLinkRetargetAsset if you skipped steps 5-7. - Click Compile, and you should see the mesh moving in the preview window.
- Drag the animation blueprint you created in step 8 into your scene, then click Play.
- Select your actor and Add Component
Live Link Controller
. - Enter the rigid body name as subject name and
LiveLinkTransformRole
as role.
Note: If you want to stream your rigid body as a camera role prefix the rigid body name with cam_
(eg. cam_rigidbody
)
- Each force plate is a livelink subject with the
basic
role. - The force subject contains the following 9 properties in order. (
Force X
,Force Y
,Force Z
,Moment X
,Moment Y
,Moment Z
,Application Point X
,Application Point Y
,Application Point Z
)
Note: Avoid mixing the LiveLink plugin data with the QualisysClient plugin. Synchronization of data might differ.
https://www.qualisys.com/my/qacademy/#!/tutorials/how-to-use-the-skeleton-solver-with-unreal
- Windows 64bit
- MacOS
- Linux
Note: In most cases, you can simply install and use this plugin directly from the Unreal Engine Marketplace. The instructions below are for those who need or prefer to build the plugin from source (e.g., for custom development or modifications).
-
Set Up Your Environment
- Make sure your environment is ready to build plugins.
- Use a C++ Unreal Engine project and have the necessary SDKs installed (e.g., Visual Studio on Windows, Xcode on macOS, etc.).
-
Clone This Repository (With Submodules)
- Important: Do not clone it inside your existing UE project folder. Pick a separate directory.
- Example:
git clone --recurse-submodules https://github.com/qualisys/QTM-Connect-For-Unreal.git
- If you already cloned without submodules, run:
cd QTM-Connect-For-Unreal git submodule update --init --recursive
-
Run the Copy Script
This script copies necessary files from thequalisys_cpp_sdk
submodule into the plugin’s internal directories.- On Windows:
qualisys_cpp_sdk_init.bat
- On macOS/Linux:
chmod +x qualisys_cpp_sdk_init.sh ./qualisys_cpp_sdk_init.sh
- On Windows:
-
Copy the
Qualisys
Folder to Your UE Project’sPlugins
Folder- Copy the entire
Qualisys
folder (for example,Qualisys/QTMConnectLiveLink
) to your UE project’sPlugins
folder. - If a
Plugins
folder does not exist in your project, create one at the root of the project directory. - Your final structure might look like this:
YourProject ┣━ Plugins ┃ ┗━ Qualisys ┃ ┗━ QTMConnectLiveLink ┃ ┣━ Source ┃ ┣━ ... ┣━ Source ┣━ YourProject.uproject
- Copy the entire
-
Open the Project in Unreal Engine
- Launch the Unreal Editor and open your
.uproject
file. - When prompted, allow Unreal to rebuild your plugin automatically.
- After the rebuild completes, the plugin should be available for use in your project.
- Open the Plugins view (
Edit -> Plugins
). EnableQTMConnectLiveLink
- Launch the Unreal Editor and open your