OptiTrack Unreal Engine Plugin

Main Page → OptiTrack Unreal Engine Plugin


Plugin Overview

The OptiTrack Unreal Engine Plugins allow you to stream real-time tracking data from Motive into Unreal Engine. This includes tracking data of rigid bodies, skeletons, and HMDs that are tracked within Motive. This article focuses on the organization of those plugins. For basic instructions on setting up a motion capture system, please refer to the Getting Started guide instead.


Included Plugins:

  • OptiTrack - Live Link
  • OptiTrack - Streaming Client
  • OptiTrack - VR Latency Optimization


HMD Compatibility

  • A variety of head mounted displays (HMDs) can be integrated using the OptiTrack OpenVR Driver.
  • For plugin version 1.23 and above, support for Oculus HMDs has been deprecated.


Motive Data Streaming Setup (Server)


First of all, follow the below instructions to set up the data streaming settings in Motive. Once this is configured, Motive will be broadcasting tracking data onto a designated network interface where client applications can receive them.

Streaming Settings

Broadcast Frame Data set to true for streaming.

Open the Data Streaming pane in Motive and set the following settings:

  • Enable the Broadcast Frame Data setting at the top
  • From the Local Interface drop-down menu, select a network address that you wish to stream the data from.
  • Select desired data types to stream under streaming options:
- Streaming of rigid bodies is required.
- Streaming of skeleton is optional for skeleton tracking.
- For tracking HMDs, disabling the Marker streaming is advised.
  • Set the Skeleton Coordinates to Local.
  • When streaming skeletons, set the appropriate bone naming convention for the client application. For example, if the character uses the FBX naming convention, this will need to be set to FBX.
  • For streaming over a wifi network, setting the Transmission Type to Unicast is strongly advised.

Info2.png

Additional Tips

  • For best results, it is advised to run Motive and Unreal Engine separately on different computers, so that they are not competing for processing resources.
  • When streaming the data over a wifi network, Unicast transmission must be used.
  • In order to stream data from the Edit mode, a capture-recording must be playing back in Motive.
  • For additional information on data streaming in general, read through the Data Streaming page.

Plugins


OptiTrack - Live Link

The Unreal Engine: OptiTrack Live Link Plugin is primarily intended for Virtual Production applications that require use of real-time cameras or skeleton tracking in Unreal Engine. It interfaces with Unreal Engine's built-in Live Link plugin to allow for for streaming data from Motive in both real-time and runtime. When timecode data is available in Motive, streamed timestamps can be used to align the data with other components within the project.

OptiTrack - Streaming Client

The Unreal Engine: OptiTrack Streaming Client Plugin is primarily used for Virtual Reality due to it's low latency optimizations. It provides streaming of rigid body and skeleton tracking data from Motive into Unreal Engine, and it also includes helper functions and actors to provide quick integrating of the plugin into the scene.

OptiTrack - VR Latency Optimization

The OptiTrack - VR Latency Optimization plugin is an optional plugin for SteamVR projects. When enabled, it provides HMD render compensation to minimize latency in VR applications. For users developing for SteamVR using the OptiTrack plugin, whether or not using the OptiTrack OpenVR Driver, it's suggested to have this plugin enabled.

OptiTrack Unreal Engine plugins shown in the Plugins pane in UE4.

Intergrating HMDs


OptiTrack motion capture systems can be used to track head mounted displays (HMD) and integrate the tracking data into Unreal Engine for VR applications. For instructions on integrating HMD tracking data into Unreal Engine, please refer to the corresponding page:

Info2.png

Supported HMDs

At the time of writing, the following HMDs are supported:

  • HTC VIVE
  • HTC VIVE Pro 1/2
  • Valve Index
  • HP Reverb G2

Warning2.png

Deprecated support for Oculus HMDs:

  • Support for Oculus Integration have been deprecated starting from UE plugin version 1.23; Plugin version 1.22 or below must be used for Oculus HMDs.
  • Vive and Valve Index HMDs are supported through the OpenVR driver.

Wireless Multiplayer Setup


When setting up multiplayer games on wireless clients, it is more beneficial for each client to make direct connection to both the tracking-server (Motive) and the game-server, rather than rebroadcasting the streamed tracking data through the game-server. Then, any of the game related actions that interacts with the tracking data can be processed on the game-server, and this server can send out the corresponding updates to the wireless clients. This allows the wireless clients to only receive both the tracking data or updates without having to send back any information; in other words, minimizing the number of data transfers needed. If wireless clients are sending data there will be a minimum of two transfers on the wireless network, and each transfer of data through wireless network is at risk of latency or lost packets.

WirelessClientSetup.png

Related Pages