Unreal Engine: OptiTrack Live Link Plugin

Main PageOptiTrack Unreal Engine 4 Plugin → Unreal Engine: OptiTrack Live Link Plugin

Overview

This page provides instructions on how to use OptiTrack UE Live Link plugin. The Live Link plugin communicates with Unreal's built-in Live Link plugin by providing a Live Link source for streaming data from Motive in both real-time and runtime. This is used for streaming tracking data into Unreal Engine for any virtual production applications.

Live Link Plugin Setup[edit]


1. [Motive] Setup rigid body streaming in Motive.[edit]

Get Motive streaming with at least one rigid body. Make sure the Streaming settings are configured correctly, and the rigid body is active under the Assets pane.

2. [UE] Install the OptiTrack plugins in Unreal Engine (UE).[edit]

You can install the OptiTrack Unreal Engine plugin by putting the plugin files into one of the following directories:

  • A global engine plugin can be placed in C:\Program Files\Epic Games\[Engine Version]\Engine\Plugins
  • A project-specific plugin can be placed in [Project Directory]\Plugins

3. [UE] Enable the plugins in UE project.[edit]

Go to Edit → Plugins and enable two of the required plugins. First one is the OptiTrack - Live Link plugin under Installed group, and the second one is the built-in Live Link plugin under Built-In group.

OptiTrack - Live Link plugin. Make sure the plugins are placed in the plugins folder either in the project or engine directory.
Built-In Live Link plugin.

4. [UE] Open the LiveLink pane[edit]

Open the LiveLink pane from Window → Live Link in the toolbar.

    LiveLine pane in UE.
    LiveLine pane in UE.

5. [UE] Configure and create a new OptiTrack source[edit]

In the LiveLink pane under Source options, go to the OptiTrack Source menu and configure the proper connection settings and click Create. Please make sure to use matching network settings configured from the Streaming pane in Motive.

Creating OptiTrack source with client streaming settings.

6. [UE] Check the Connection.[edit]

If the streaming settings are correct and the connection to Motive server is successful, the plugin will list out all of the detected rigid bodies, and they should have green dots next to them indicating that the corresponding rigid body has been created and is receiving data. If the dots are yellow, it means that the client has stopped receiving data. Check if Motive is still tracking or if there is a connection error.

Connected to the rigid body data stream.

Using the Plugin[edit]


Moving Static Mesh or Camera Actors[edit]

1. Add a camera object, or a static mesh object, that you wish to move[edit]

Add a camera actor from the Place Actors pane or a static mesh from the project into your scene. For the static meshes, make sure their Mobility setting is set to Movable under the Transform properties.

    Camera actor listed under the Place Actors pane.
    Actor mobility set to movable.

2. Add LiveLinkController Component[edit]

Select an actor you want to animate, click the “Add Component” button on the details pane, and add Live Link Controller.

Live Link Controller component needs be added.

3. Select the target rigid body[edit]

Under the Live Link Controller component properties → Subject Representation, select the target rigid body.

The target rigid body selected under Live Link Controller component properties.

4. Check[edit]

Once the target rigid body is selected, each object with the Live Link Controller component attached and configured will be animated in the scene.

Live Link Timecode Setup[edit]

When the camera system is synchronized to another master sync device and a timecode signal is feeding into eSync, then the received timecode can be used in UE project through the plugin.

1. Set Timecode Provider under project settings[edit]

From Edit → Project Settings, search timecode and under Engine - General settings, you should find settings for the timecode. Here, set the the Timecode Provider to LiveLinkTimeCodeProvider.

Select the timecode provider under project settings.

2. Set OptiTrack source in the Live Link pane as the Timecode Provider[edit]

Open the Live Link pane, and select the OptiTrack subject that we created when first setting up the plugin connection. Then, under its properties, check the Timecode Provider box.

Enable timecode provider setting in the plugin.

3. Check[edit]

The timecode from Motive should now be seen in the Take Recorder pane. Take Recorder pane can be found under Window → Cinematic → Take Recorder in the toolbar.

Timecode shown in the Take Recorder pane.

Standalone Game Mode[edit]


For testing the project in standalone game mode, the Live Link plugin settings must be saved out and selected as the default preset to be loaded onto the project. If this is not done, the configured settings may not get applied. After configuring the LiveLink plugin settings, save out the preset from the Live Link pane first. Then, open the Project Settings and find Live Link section in the sidebar. Here, you can select the default Live Link preset to load onto the project, as shown in the screenshot below. Once the preset is properly saved and loaded, the corresponding plugin settings will be applied to the standalone game mode.

If all the configuration is correct, the actors will get animated in the newly opened game window when playing the project in the standalone game mode.

  • Creating a preset from Live Link panel. Select Save As Preset
  • Assigning the preset in the Project Settings.
  • Playing a scene in standalone game mode.


Troubleshooting[edit]


Q - Trying to add more than 64 frames in the same frame. Oldest frames will be discarded.

A - This notification message may appear at the bottom of the Live Link pane if the frame rate in the data stream doesn't match the rendering frame rate inside UE. This is within notification within the Engine only, so it should not interfere with the project. If this notification must be removed, you can go to the Project Settings → Engine → General Settings → Framerate section, check Use Fixed Frame Rate option, and set the Fixed Frame Rate to be the same rate as the Motive frame rate.

LiveLink TS Framerate.png