How to use Unreal® Live Link for Autodesk® Maya® plug-in

Autodesk Support

Sep 16, 2022


The Unreal Live Link plug-in lets you stream animation data from Maya to Unreal in real time, allowing you to work on character assets in Maya while seeing a preview of your work inside Unreal as you are making changes.

You can find Epic's documentation here.

Get the Latest Version

Contribute to the open source repo

Note: The robot in this image was created using create3dcharacters.com.

To learn more about using the Unreal Live Link, see the following:


 

Installation

To install Unreal Live Link for Autodesk Maya, do one of the following:

Windows

Execute the .msi installer file and follow the instructions.

Linux

  1. Run the script './UnrealLiveLinkForMaya#.sh'
    • if installed as 'su', the plugin will install to /usr/autodesk/ApplicationPlugins/UnrealLiveLinkForMaya
    • otherwise, the plugin will install to $HOME/Autodesk/ApplicationPlugins/UnrealLiveLinkForMaya
  2. Apply (this) patch to Unreal Engine.

    Note: You will need to be logged into git and have permission to Unreal's repo for the above link to work.

Note: Live Link also requires a local installation of Unreal Engine to run properly.

Uninstallation

To uninstall Unreal Live Link for Autodesk Maya, do one of the following:

Windows

  1. Open the Settings.
  2. Select Apps to display a list of installed applications.
  3. Click Unreal Live Link for Autodesk Maya.
  4. Click Uninstall.

Linux

Delete the install folder (as noted in the Installation section).

Note: If Linux distribution does not have OpenSSL 1.1 installed, you may see OpenSSL errors. We advise using OpenSSL 1.1.x. Note: Uninstalling the plugin during an active Maya session will leave Maya unresponsive.


Back to top

Getting Started

Before using the Unreal Live Link, you must first set up a link between a Maya asset (the source) and Unreal asset (the target).

1. Loading the plug-ins

Before you can start a live link, you must first activate the respective plug-ins in Maya and Unreal.

To activate the Unreal Live Link plug-ins:

  1. In Maya, go to Windows > Plug-in Manager.
  2. Check the Loaded column next to MayaUnrealLiveLinkPlugin.mll.
  3. In Unreal, go to Edit > Plugins.
  4. In the Animation category, enable the Live Link plugin.
  5. Go to Edit > Editor Preferences > General-Performance and turn off Use Less CPU when in Background.
  6. (Optional) Install the LiveLinkCamera plug-in to control the camera attributes.

2. Establishing a connection between Maya and Unreal

Before you can live link specific objects between Maya and Unreal, you first need to set up a connection between the two applications:

Note: The Unreal Live Link plug-in is supported by previous versions of Maya, starting in Maya 2018.
Note: If Unreal Live Link fails to load properly, make sure that you have Unreal Engine installed to the same machine.

  1. In Maya, make sure the asset file is currently open.
  2. Go to File > Unreal Live Link to open the Unreal Live Link window. The window shows that it is Not Connected since you haven't established a connection yet.
  3. In Unreal, go to Window > Live Link.
  4. Click Source > Message Bus Source > Maya Live Link. In Maya, the Unreal Live Link window shows that it is Connected.

3. Live linking an object between Maya and Unreal

Once Maya and Unreal are connected, you can live link specific objects in each scene by doing the following:

  1. Make sure the object is loaded in both the current Maya scene and Unreal project. To ensure compatibility, you can export the object from Maya to Unreal first.
  2. In Maya, select the base node of the object to be linked. For characters, this is the base of their joint skeleton (not the controls).
  3. Go to the Unreal Live Link window and click Add Selection. The object is added to the list.
    Note: Do not add multiple objects with the same name to this list.
  4. In Unreal, you can link specific assets to their Maya equivalent using the Level Editor or Animation Editor. To link an asset in the Level Editor, it depends on the type of asset:

    Note: All linked assets should be made moveable in Unreal. Select your asset, find the Transform category in the Details panel, and then change Mobility to Movable.
    • Lights: To link a specific light, first add it to the Unreal Live Link window in Maya. Then in Unreal, select the Light (Directional Light, Point Light, Spot Light) and select the LiveLinkComponentController in the Details panel. Switch the Subject Representation to that specific linked light.
    • Cameras: By default, the CameraActor object is linked to the current camera in Maya. To view it, either select it in Unreal's World Outliner to see a preview, or set the current camera to CameraActor.
      To link a specific camera, first add it to the Unreal Live Link window in Maya. Then in Unreal, select CameraActor and select the LiveLinkComponentController in the Details panel. Switch the Subject Representation to that specific linked camera.
    • Characters: Select the character, then check the following in the Details panel:
      In the Animation section, make sure Anim Class is set to a "LiveLink" object.
      In the Mesh section, make sure the Skeletal Mesh is set to a "fromMaya" object.
      In the Skeletal Mesh section, turn on Update Animation in window.
    • Meshes: To link a specific mesh, first add it to the Unreal Live Link window in Maya. Then in Unreal, select StaticMeshActor and select the LiveLinkComponentController in the Details panel. Switch the Subject Representation to that specific linked mesh.

    To link an asset in the Animation Editor:

    • Double-click the asset in the Content Browser to view it in an Animation Editor window.
    • In the Preview Scene Settings tab, set the following values:
    • Preview controller: Live Link Preview controller
    • Live Link Subject Name: The name of the live linked Maya object
    • Enable Camera Sync: Enable this if you want Unreal's camera to match Maya's camera

The link is now established between your Maya and Unreal objects. For more on retargeting an actor in Unreal, see the documentation here .


Back to top

 

Compatible Features

The following list of Maya features are compatible with the Unreal Live Link plug-in.

Note: Before you can control the camera attributes, you need to install the LiveLinkCamera plug-in in Unreal.

Feature

What's compatible

Cameras (Maya name -> Unreal name)

  • F Stop (DoF must be turned on) -> Current Aperture (cine camera only)
  • Film Aspect Ratio -> Aspect Ratio (camera only)
  • Focal Length -> Focal Length (camera only)
  • Focus Distance (DoF must be turned on) -> Manual Focus Distance (cine camera only; Focus method must be set to manual)
  • Transforms (translate and rotate only) -> Location and Rotation (camera and cine camera)

Note: If Depth of Field is turned off in Maya, you must manually set the Focus method to Disable in Unreal.

Lights (point, directional, spotlight)

  • Color
  • Intensity
  • Cone Angle (spotlight only)
  • Penumbra Angle (spotlight only)
  • Transforms
  • Custom Attributes

Joints

  • Transforms

Blendshapes

  • Primary blendshape values
    • Envelopes and Group Values must be set to 1
    • Maya blendshape target attribute names must match Unreal morph target names

Time codes

See Syncing with Timecodes for more information

 


Back to top

 

Exporting to Unreal

To ensure objects are compatible between Maya and Unreal, you can export the Maya object to Unreal using an FBX file.

To export the scene to your Unreal project:

  1. In Maya, select File > Send To Unreal > Set Unreal Project, then browse to select a valid, local Unreal project and click Select. (You only need to set the project once. It's not necessary to set the project again for subsequent export operations.)

    Note: If you don't see the File > Send To Unreal options, ensure that the GamePipeline.mll plug-in is loaded.

  2. Select File > Send To Unreal > All / Selection (depending on whether you want to export the whole scene or only selected objects). Maya exports the selected objects or the entire scene to the specified Unreal project folder as an FBX file, so you can immediately import the file into your Unreal level.
  3. In Unreal, go to the Content Browser and click Add/Import > Import to and load the FBX file.

Note: You can also use File > Export All / Export Selection and change the file type to FBX_export. If you use this method, you'll want to make sure Bake Animation, and Blendshapes options are enabled.


Back to top

 

Syncing with Timecodes

Syncing animation between Maya and Unreal can be tricky when working with data from different sources running at different speeds (24fps, 30fps, 60fps, etc). To avoid aligning these disparate sources by hand, you can create a time code as a central unit for them to synchronize to.

To enable time codes:

  1. Ensure that Maya and Unreal are already linked.
  2. In Unreal, ensure you have the following plug-ins installed:
    • Media Framework
    • Media Framework IO
  3. In the Level Editor Toolbar, select Media Profile > New Empty Media Profile.
  4. In the Pick Media Profile Class window that appears, select MediaProfile and click Select.
  5. Enter a Path name, like LiveLink_Timecode, and click Save.
  6. In the Details panel that appears, set the following options, and then click Save:
    • Override Project Settings: Turn on
    • Timecode Provider: Live Link Timecode Provider
    • Timecode Provider > Timecode > Subject Key: to any Maya Live Link source (if there's more than one, you can choose any of them)
    • Timecode Provider > Timecode > Evaluation: Latest

Now if you open the Timecode Provider (Window > Developer Tools > Timecode Provider) you should see a timecode that updates when you scrub the Timeslider in Maya.

To make Unreal's Sequencer compatible, you need to perform some additional steps.

To synchronize Unreal Sequencer with time codes:

  1. In Unreal, open the Sequencer (Window > Cinematics > Sequencer).
  2. Set the FPS to Clock Source > Timecode.
  3. Click the Play button to enable play mode.

Now if you play the scene in Maya, Unreal remains synchronized with it.

Note: The robot in the video was created using create3dcharacters.com.


Back to top

Streaming custom attributes

When live linking a skeleton joint from Maya to Unreal, you can choose to stream any keyframed custom attributes. This is useful for enabling compound or custom behavior.

To stream custom attributes:

  1. In Maya, create a custom float attribute on a joint and make sure to set at least one keyframe on it.

  2. Export the joint (or entire skeleton) as an FBX file.

  3. Import the file into Unreal, making sure to enable the following.

    • Import Animations
    • Import Custom Attribute
    • (Optional) Do not import curves with only 0 values

Now if you open Unreal's Asset Editor, you'll see the custom attributes on the skeleton. You can then alter the values in Maya to stream them to Unreal.


Back to top

Preview a skeletal mesh in a level

You can create an animation blueprint to synchronize your skeletal mesh and preview updates in Unreal’s Viewport.

  1. Ensure that Maya and Unreal are already linked.
  2. In Unreal, import your full hierarchy. See Exporting to Unreal.
  3. Create an animation blueprint, selecting your imported skeleton as the Target Skeleton.
  4. In the Content Browser, double click the blueprint.
  5. In the AnimGraph that appears, add a Live Link Pose node.
  6. Set the Live Link Subject Name to point towards the rig.
  7. Connect the Live Link Pose node to the Output Pose node.
  8. Compile and Save your changes.
  9. In the Content Browser, drag your blueprint to the Viewport.
  10. In the Details panel set the following
    • In the Skeletal Mesh section, turn on Update Animation in Editor.

Now you can preview of your work inside Unreal as you are making changes in Maya.


Back to top

 

By default, Maya will link to a single instance of Unreal running on the same device. However, if you are on a local area network where multiple devices are being used, you can link to specific instances of Unreal using a Unicast Endpoint and Static Endpoint to act as each end of the bridge.

To set up these network endpoints, you will first need the IPv4 address of the device running Maya and the device running Unreal.

  1. To find your IPv4 address:
    • On Windows: Open a command prompt and run an ipconfig command.
    • on Linux: Use the command ifconfig -a.

Once you have your IPv4 values, you can then proceed to set up the link depending on the two scenarios outlined below:

  1. In Maya, open the Unreal Live Link Editor and open the Settings window.

  2. In Unreal, open the Project Settings and go to the UDP Messaging section.

  3. Enter the IPv4 value into Maya and Unreal based on the following scenarios:

    • If you want Maya to keep track the various instances of Unreal that it should connect to:
      1. Input the target IPv4 into Unreal's Unicast Endpoint field.
      2. Add that same value to the list of Maya's Static Endpoints.
      3. Repeat this for each device running Unreal.
    • If you want each instance of Unreal to keep track of the instance of Maya it should connect to:
      1. Input the IPv4 value into Maya's Unicast Endpoint field.
      2. Add the same value to Unreal's Multicast Endpoint field.
      3. Repeat step 2 for each instance of Unreal.

Back to top

 

The Unreal Live link window is where you create and manage live link connections from Maya to Unreal. You can access it via File > Unreal Live Link.

Note: When new updates are available, a message appears at the bottom of the Unreal Live Link window. Click the link to install the latest version.

Add Selection

Select an object in the scene, then click this to add it to the list of active connections.

Connection list

Displays a list of objects currently connected to Unreal via live link.

Type

Displays the type of object being linked. Clicking this will give you a list of preset hierarchy connections to send to Unreal.

Object name

The name of the object being sent to Unreal. You can change this name to match different objects in the Unreal project.

DAG Path

The Maya hierarchy location of the object being linked.

Trash

Select an existing object in the Connection list, then click this button to remove it.

Settings

Select Edit > Settings to open the Unreal Live Link settings window with the following options.

Endpoints

Use this to point a specific instance of Maya to a specific instance of Unreal (if multiple instances are running).


Back to top


Back to top

 

Troubleshooting

Below you'll find a list of common issues you may run into when using Live Link and their resolutions.

If you can't find your Live Link Editor window, it's possible it's been hidden behind the Maya window. This can happen if you restarted Maya while a the Live Link Editor window was already open. If this happens, move the main Maya window aside and click on the Live Link Editor window to bring it back to the front.

Camera focus in Unreal is wrong

If Depth of Field is turned off in Maya, you must manually set the Focus method to Disable in Unreal.

The Send to Unreal option is missing

If you don't see the File > Send To Unreal options, ensure that the GamePipeline.mll plug-in is loaded.

If Unreal Live Link fails to load properly, make sure that you have Unreal Engine installed to the same machine.


Back to top



Was this information helpful?


Need help? Ask the Autodesk Assistant!

The Assistant can help you find answers or contact an agent.


What level of support do you have?

Different subscription plans provide distinct categories of support. Find out the level of support for your plan.

View levels of support