

Your external application will need to be set up to push data to Unreal Engine through Live Link for it to be displayed as a source to connect to. You can add sources through the + Source button and select the type of source you want to connect with Live Link. That instance is sending three subjects to the Editor: two Camera subjects (one named "EditorActiveCamera" and another named "camera1"), as well as a subject containing Transform data called "TestCube" (bottom left section). Upon selecting the Live Link option, the Live Link Connection window opens, where you can add Source Types and Subjects.Ībove we can see the Live Link client with an open connection to an instance of Maya running our plugin (top left section). the Live Link client can be accessed from the Window menu. The Live Link plugin can be enabled by opening the Plugins window ( Edit > Plugins), selecting the Animation category and selecting Enabled on the Live Link Plugin. You can enable it by adding -messaging in a packaged game (shipping target is not supported). UDP Messaging is not enabled by default in -game. The ":0" specifies that all ports should be listed to. If you want to receive data from the Live Link Message Bus Source on Network Adapter B, you would need to set your Unicast Endpoint to: .53:0 If you want to receive UDP data on a specific Network Adapter, you will need to modify your Project Settings by going to Edit > Project Settings > UDP Messaging and changing the Unicast Endpoint. If you have more than one Network Adapter in your machine, this may cause issues if you expect to receive data from a particular adapter. When using the Live Link Message Bus Source, it uses UDP Messaging under the hood and (by default) will use the first Network Adapter it finds. We have used this to build Live Link plugins for Maya and Motionbuilder. Within the Live Link plugin, we have defined our own source (called the Message Bus Source) that reads data from an Unreal Message Bus connection. Each source is handed a reference to the client to allow it to pass data to it. Sources are responsible for managing how they receive the animation data (over a network protocol for example, or reading from an API for a device connected to the machine itself). Sources can be defined within plugins so that third parties can build their own without having to change Engine code. Sources are how data gets into the Live Link client. Supported Roles include Cameras, Lights, Characters, Transforms, and a Basic role (for generic data). This allows for the data to be more easily mapped to a target Actor within the Engine. Live Link also utilizes a concept of Roles that define how incoming data should be used. This can either be a straight copy of the latest received data or an interpolated frame created by buffering the incoming data and playing it back with a user-definable delay. The client is also responsible for building up the next frame of data to be used by the Engine. One or more "frames" of data (like the bone transforms for the animation role). Static data that doesn't change (like the Skeleton for an animation role.). One animating character would be a subject for instance.Ī subject is made up of the following data: Manage Subjects: Subjects are individual streams of data within the client. Manage Sources: These are the sources of data and mostly represent connections to other applications, either on the same machine or across the network, that provide data to Live Link. The hub of Live Link is the Live Link Client that is created when the Live Link plugin is enabled inside a project. Motion Capture Systems can also use Live Link to stream data into the Engine that can be previewed in real-time.

With DDC tools like Maya or Motionbuilder, Live Link provides a way for you to edit animations externally while seeing a preview of your work inside Unreal Engine in real-time. It is designed to be extensible through Unreal Plugins, allowing third parties to develop new features-hopefully with no need to make, then maintain Engine changes. The purpose of Live Link is to provide a common interface for streaming and consuming animation data from external sources (for example, DDC tools or Mocap Servers) into Unreal Engine.
