Ingest & Add Jobs

Every footage job runs on a UFootageCaptureData asset. Getting raw footage into the project as that asset is ingest, done by Epic's Capture Manager. Getting assets into the queue is Add Jobs..., the single entry point in the MHA Manager toolbar — or the auto-queue watcher, which needs no dialog at all.

Where takes come from

Raw take folders on disk are ingested from the External Footage source of the Add Jobs dialog below, inside the editor (UE 5.8). Takes that Capture Manager has already ingested - from this dialog, or from Epic's own Live Link Hub - land under /Game/CaptureManager/Imports/<Actor>/ as UFootageCaptureData assets and are queued from Project Assets or by the auto-queue watcher.

A single-camera take that arrives carrying its own depth - a mobile device running Live Link Face, or any other depth camera - is queued as a Depth job when its calibration came with it, or Other when one still has to be found. Both need a prepared Identity for the actor, the same as Stereo. Turn off Depth solve for depth takes in Global Settings to queue them as Mono instead.

Auto-queue on ingest

Global Settings, Ingest section: Auto-Queue Ingested Takes, Auto-Start Batch on Ingest, and Watch Folder
The Ingest section of Global Settings

As Capture Manager delivers takes, the Ingest section of Global Settings can watch the project and queue them the moment they appear in the Content Browser — no dialog needed:

Setting What it does
Auto-Queue Ingested Takes Watches the project for newly created Footage Capture Data assets and adds each to the queue automatically. Takes already in the queue are not re-added.
Auto-Start Batch on Ingest Starts the batch when auto-queued takes arrive and no batch is running. Takes arriving mid-batch are queued and started on the next idle trigger.
Watch Folder (optional) A content-path prefix to limit the watch, e.g. /Game/CaptureManager/Imports. Empty watches everywhere under /Game.

The three sources

Add Jobs dialog with the Source picker - Project Assets, Audio, External Footage - and the Project Assets tree of FootageCaptureData assets below
The Add Jobs dialog: pick a source at the top, tick takes in the tree below
Source What it queues
Project Assets One job per FootageCaptureData asset already in the project. The default panel.
Audio Audio-driven jobs from project SoundWaves, WAV files on disk, or a Wwise container. Requires UE 5.8.
External Footage Raw take folders on disk, scanned and then ingested by Capture Manager inside the editor. Requires UE 5.8 and the CaptureManagerEditor plugin; on UE 5.7 the source is disabled and its tooltip says why.
Nothing is queued until you confirm (or double-click a single take). The dialog only collects a selection — the batch tab runs the enqueue afterwards, so cancelling leaves the queue untouched.

Project Assets

Every FootageCaptureData asset in the project, shown as a tree that mirrors its content path — so an Imports/<Actor>/<Take> layout reads as actor folders with takes underneath. Search filters the tree, checkboxes pick takes (a folder checkbox toggles everything under it), each row is labelled Stereo or Mono, and the footer counts what is checked against the total. Double-clicking a take queues just that one.

Show thumbnails (below the source picker, off by default) adds a first-frame preview to each row. It is off because decoding a frame per take is slow on large projects; thumbnails are only decoded once the box is ticked.

Each checked take becomes one job, typed automatically: path-name tokens classify grid/calib as Stereo Calibration and identity/dna as Identity Create, while Mono and Stereo come from the asset itself. See Naming Conventions for the patterns and Job Types for what each one does.

Audio

Audio jobs need no footage, no calibration, and no identity — a voice track is the whole input. Three sub-sources feed them:

Sub-source Behavior
Project Searches a content folder recursively and queues one job per SoundWave asset found. Each job references the asset directly — nothing is copied or re-imported.
Import Searches a root folder on disk recursively and queues one job per WAV file. The WAVs stay where they are; each job keeps only its path and imports the wave beside the Performance at solve time.
Wwise Queues one job per Sound under a Wwise container, resolved live over WAAPI. See Wwise Audio.

Whichever sub-source is active, the preview list below it is the same: every discovered item with a checkbox, a check-all toggle, and a checked count. Items already in the queue are skipped, so re-running against the same folder adds nothing.

External Footage

Add Jobs dialog on the External Footage source: footage root, fallback actor, schema and destination line, and the scanned take tree with Kind / Take / Actor columns
External Footage: the scanned tree groups takes by folder, with kind and actor per take

For footage that is not in the project yet. Point the dialog at a footage root on disk; it walks the folder and classifies every take it finds. Check the ones to bring in and press Ingest: Capture Manager's ingest library runs in this editor process, one actor at a time, into /Game/CaptureManager/Imports/<Actor>/. The checked takes are queued when the ingest finishes, including takes that were already in the project.

  • Set a Media Directory in Project Settings -> Capture Manager first; the ingest refuses to start while it is empty. Other Capture Manager settings apply as usual.
  • A notification counts finished takes (there is no progress within a take) and has a Cancel button. Per-take results are in the Output Log under LogMHAManager, lines starting MHACaptureManagerIngest:.
  • One ingest at a time: a second is refused until the first finishes or is cancelled.
Take kind What the scan matched
Stereo A folder holding two videos whose base names match the schema's stereo patterns.
Mono A single video file.
Archive A take folder in an existing capture archive layout.
Audio A loose WAV, when Include .wav audio as audio takes is on. Scan-only — audio takes are queued directly and never ingested. A WAV that belongs to a stereo take is always that take's audio track, never a take of its own.

Takes the engine would silently drop are still listed, greyed out with the reason — so a mislaid take shows up as a problem instead of just going missing. The actor for each take comes from its folder depth (see the schema below); takes that sit too shallow to carry an actor segment fall back to the dialog's fallback actor field.

Describing your footage layout

Out of the box, the scan assumes each take is a folder, its parent folder names the actor, and footage is .mp4 or .mov. If your stage lays footage out differently, ship the rules alongside it: drop a file named MHAIngestSchema.json at the footage root and the dialog picks it up automatically, reporting which rules it used.

{
  "version": 1,
  "path_template": "{actor}/{session}/{take}",
  "video_extensions": ["mp4", "mov"],
  "stereo_patterns": ["*_top", "*_bot"]
}
Key Default Meaning
version 1 Schema version. Anything other than 1 is refused; the built-in defaults are used and the dialog shows a warning.
path_template {actor}/{take} Matched from the end of the path: {take} is always the last folder, and only {actor}'s distance above it matters. {actor}/{take} therefore means "the take's parent folder", however deep the root is; an Actor / Session / Take stage ships {actor}/{session}/{take}. Leave {actor} out entirely and every take uses the dialog's fallback actor.
video_extensions ["mp4", "mov"] Which file extensions count as footage. Leading dot optional, case ignored.
stereo_patterns (empty) Wildcards that a folder's two video base names must match, one each, for the folder to count as a stereo take — e.g. *_top and *_bot for a top / bottom head-mounted rig. Case is ignored. Empty accepts any folder holding exactly two videos, the same rule the engine's own auto-discovery uses.
Only the keys you include are overridden; everything else keeps its default. A file that cannot be parsed falls back to the built-in defaults instead of failing the scan, and the dialog says so.

What happens to a queued take

However a take enters the queue, it is classified automatically and readied to process:

  • Its job type is derived from the take — path-name tokens drive grid/calib -> Stereo Calibration and identity/dna -> Identity Create, while mono / stereo / audio come from the asset itself.
  • Mono takes get a first-frame framing probe that auto-enables body tracking when the whole body is in shot.
  • Dependent assets (calibration, identity) are auto-discovered where the folder layout allows, so a stereo take lands ready or clearly marked for what it still needs.
Keep grid, calib, identity, and dna out of folder and take names that are not those take types — those tokens drive classification, and a misnamed performance take will be queued as the wrong job. See Naming Conventions. Once jobs are in the queue, Per-Job Options covers what you can change per take before starting the batch.