Skip to content
AnimSnap Documentation

AnimSnap Documentation / Runtime and Blueprint Integration

Runtime and Blueprint Integration

The AnimSnap runtime module handles sampling and pose capture. The AnimSnapEditor module provides the editor window, recording and disk asset saving.

AnimSnap Component

  1. Add an AnimSnap Component to the actor.
  2. Assign a Facial Rig and Face Component, or select a Live Link Subject.
  3. If smoothing is required, enable Monitor Input and set Smoothing Half Life.
  4. Call Snap Pose.
  5. Read Last Pose or handle On Pose Captured. Check Last Error if capture fails.

The component updates after animation in Post Update Work. Capturing from a face before its animation has evaluated may read the previous frame. Invalid input returns an error rather than reusing an earlier pose.

Capture Session API

Use a session when you need direct control:

  1. Call Create Capture Session and retain the returned object.
  2. Call Sample Animation, Sample Face or Sample Live Link.
  3. Pass the returned curve frame, rig class, options and sample time into Capture.
  4. Retain the returned Control Rig Pose Asset.

Keep the session alive between samples when using smoothing. Supply a positive Delta Time and call Reset after a discontinuity. A one-shot capture can use Delta Time 0.

Disable Facial Controls Only to include supported head curves. MetaHuman Animator data uses degrees and centimetres. Raw Live Link Face head angles are converted from radians automatically.

Capture Control Rig reads the current controls from a rig that your own system has already evaluated. It does not run the rig graph. Test custom parent-space setups with your intended pose-library workflow.

All capture calls run on the game thread. In a packaged game, keep a hard reference or cooked soft reference to the facial rig class so it is included in the build.

Monitoring

When Monitor Input is enabled, AnimSnap updates filtering and its temporary rig without creating a new pose asset every tick. Snap Pose validates the current source and creates the pose only when requested.

Performance still depends on the rig, input source and number of characters in the project.

Storage and saving

Runtime poses are temporary in-memory objects. Keep a UObject reference, such as Last Pose, for as long as the pose is needed. Runtime poses are not saved automatically between game sessions.

In the editor, Save Pose Asset in AnimSnapEditorLibrary writes a capture into /Game. Enable Make Unique Name to preserve an existing asset and choose a free name.

The following remain editor-only:

Networking and SaveGame serialization are outside AnimSnap’s scope.