Home Games Resources Assets Contact

Check us out
on social media

Using Synty Live Link in UE5

using GameDevBuddy

Posted on February 2026

In this tutorial, we'll set up the Synty Sidekicks to use Live Link with the help of the GameDevBuddy character creator tool. The GameDevBuddy is a paid tool but its well worth it for the time it saves. You can get 25% off, with the code: D3KRYPTION

STEP 1 - ADD FACIAL CURVES

For each facial body part thats attached to your face, you need to apply animation curves. These curves drive morph targets for facial animation (eyes, mouth, brows, etc).

Open each of the meshes listed below, switch to the Curves tab, paste the curve data provided.

Meshes to Apply Curves To

Animation Curves

Paste the following into the Curves tab:

AnimCurveViewer(Entries=((CurveName="eyeBlinkLeft",MetaData=(Type=(bMorphtarget=True))),(CurveName="eyeLookDownLeft",MetaData=(Type=(bMorphtarget=True))),(CurveName="eyeLookInLeft",MetaData=(Type=(bMorphtarget=True))),(CurveName="eyeLookOutLeft",MetaData=(Type=(bMorphtarget=True))),(CurveName="eyeLookUpLeft",MetaData=(Type=(bMorphtarget=True))),(CurveName="eyeSquintLeft",MetaData=(Type=(bMorphtarget=True))),(CurveName="eyeWideLeft",MetaData=(Type=(bMorphtarget=True))),(CurveName="eyeBlinkRight",MetaData=(Type=(bMorphtarget=True))),(CurveName="eyeLookDownRight",MetaData=(Type=(bMorphtarget=True))),(CurveName="eyeLookInRight",MetaData=(Type=(bMorphtarget=True))),(CurveName="eyeLookOutRight",MetaData=(Type=(bMorphtarget=True))),(CurveName="eyeLookUpRight",MetaData=(Type=(bMorphtarget=True))),(CurveName="eyeSquintRight",MetaData=(Type=(bMorphtarget=True))),(CurveName="eyeWideRight",MetaData=(Type=(bMorphtarget=True))),(CurveName="jawForward",MetaData=(Type=(bMorphtarget=True))),(CurveName="jawLeft",MetaData=(Type=(bMorphtarget=True))),(CurveName="jawRight",MetaData=(Type=(bMorphtarget=True))),(CurveName="jawOpen",MetaData=(Type=(bMorphtarget=True))),(CurveName="mouthClose",MetaData=(Type=(bMorphtarget=True))),(CurveName="mouthFunnel",MetaData=(Type=(bMorphtarget=True))),(CurveName="mouthPucker",MetaData=(Type=(bMorphtarget=True))),(CurveName="mouthRight",MetaData=(Type=(bMorphtarget=True))),(CurveName="mouthLeft",MetaData=(Type=(bMorphtarget=True))),(CurveName="mouthSmileLeft",MetaData=(Type=(bMorphtarget=True))),(CurveName="mouthSmileRight",MetaData=(Type=(bMorphtarget=True))),(CurveName="mouthFrownRight",MetaData=(Type=(bMorphtarget=True))),(CurveName="mouthFrownLeft",MetaData=(Type=(bMorphtarget=True))),(CurveName="mouthDimpleLeft",MetaData=(Type=(bMorphtarget=True))),(CurveName="mouthDimpleRight",MetaData=(Type=(bMorphtarget=True))),(CurveName="mouthStretchLeft",MetaData=(Type=(bMorphtarget=True))),(CurveName="mouthStretchRight",MetaData=(Type=(bMorphtarget=True))),(CurveName="mouthRollLower",MetaData=(Type=(bMorphtarget=True))),(CurveName="mouthRollUpper",MetaData=(Type=(bMorphtarget=True))),(CurveName="mouthShrugLower",MetaData=(Type=(bMorphtarget=True))),(CurveName="mouthShrugUpper",MetaData=(Type=(bMorphtarget=True))),(CurveName="mouthPressLeft",MetaData=(Type=(bMorphtarget=True))),(CurveName="mouthPressRight",MetaData=(Type=(bMorphtarget=True))),(CurveName="mouthLowerDownLeft",MetaData=(Type=(bMorphtarget=True))),(CurveName="mouthLowerDownRight",MetaData=(Type=(bMorphtarget=True))),(CurveName="mouthUpperUpLeft",MetaData=(Type=(bMorphtarget=True))),(CurveName="mouthUpperUpRight",MetaData=(Type=(bMorphtarget=True))),(CurveName="browDownLeft",MetaData=(Type=(bMorphtarget=True))),(CurveName="browDownRight",MetaData=(Type=(bMorphtarget=True))),(CurveName="browInnerUp",MetaData=(Type=(bMorphtarget=True))),(CurveName="browOuterUpLeft",MetaData=(Type=(bMorphtarget=True))),(CurveName="browOuterUpRight",MetaData=(Type=(bMorphtarget=True))),(CurveName="cheekPuff",MetaData=(Type=(bMorphtarget=True))),(CurveName="cheekSquintLeft",MetaData=(Type=(bMorphtarget=True))),(CurveName="cheekSquintRight",MetaData=(Type=(bMorphtarget=True))),(CurveName="noseSneerLeft",MetaData=(Type=(bMorphtarget=True))),(CurveName="noseSneerRight",MetaData=(Type=(bMorphtarget=True)))))

STEP 2 - CREATE THE FACIAL ANIMATION BLUEPRINT

Create a new Animation Blueprint using your Face / Head skeleton. The Animation Blueprint will handle facial animation independently from the body.

In the Event Graph, paste the following logic and create any missing variables.

STEP 3 - SETUP THE ANIM GRAPH

Open the AnimGraph and paste the following logic. This ensures the face follows the body animation correctly while still allowing facial curves to drive morph targets.

STEP 4 - UPDATE ANIMATIONS IN EDITOR

Open your character Blueprint and apply the following editor-only logic. Paste the nodes below and create any missing variables.

STEP 5 - CREATE THE MACRO

Create a new Macro on your character Blueprint with the following logic. On the TRUE branch (bottom path), set the Animation Instance Class to your created FaceABP from step 2.

STEP 6 - UPDATE THE CONSTRUCTION SCRIPT

Finally, modify your Construction Script to use the newly created Macro.

Your character now has a fully functional facial animation setup using live link by simply checking the Use ARKit Face bool and hitting the editor button we added.

Make sure to untick it and CLICK THE BUTTON to remove the AnimBPs.

Facial construction script setup
× Surprise GIF