Skip to content

Continuity — API Reference

IContinuityShotProvider

IContinuityShotProvider is an IModularFeatures interface registered by ContinuityEditor at startup. It allows other modules to query the currently active shot without a hard compile-time dependency on Continuity.

#include "IContinuityShotProvider.h"

Retrieve the interface at runtime:

IContinuityShotProvider* Provider = nullptr;
if (IModularFeatures::Get().IsModularFeatureAvailable("ContinuityShotProvider"))
{
    Provider = &IModularFeatures::Get().GetModularFeature<IContinuityShotProvider>(
        "ContinuityShotProvider");
}

Functions

Function Signature Description
GetCurrentShotName FString GetCurrentShotName() const Returns the asset name of the sequence currently open in Sequencer, or an empty string if no shot is active
GetCurrentShotRange TRange<FFrameNumber> GetCurrentShotRange() const Returns the working range of the active sequence as a frame number range at the sequence's display rate
GetCurrentSequence ULevelSequence* GetCurrentSequence() const Returns a pointer to the active ULevelSequence asset, or nullptr if none is open
GetCurrentCamera FString GetCurrentCamera() const Returns the name of the camera actor bound in the active shot's Camera Cuts track, or an empty string if unbound
OnShotChanged FSimpleMulticastDelegate& OnShotChanged() Multicast delegate broadcast whenever the active shot changes (open, close, or switch)

Note

All functions are safe to call from the game thread only. GetCurrentSequence returns a raw pointer — do not store it across frames without a TWeakObjectPtr.

Render Pass Preset DataAsset

UContinuityRenderPassPreset is a UDataAsset subclass. Create instances in the Content Browser under Miscellaneous > Data Asset > ContinuityRenderPassPreset.

#include "ContinuityRenderPassPreset.h"

Properties

Property Type Description
PresetName FText Display name shown in the Render Pass Preset dropdown in the toolbar and Queue dialog
MRQPreset UMoviePipelinePrimaryConfig* Reference to a Movie Render Queue primary config asset. All MRQ settings (output format, resolution, AA samples) are inherited from this asset
OutputPathPattern FString Token pattern for the rendered output path. Supports tokens {ACT}, {SCENE}, {SHOT}, {PASS}, {FRAME}, and any token defined in the Naming Conventions settings
bEnabled bool When false, the preset is hidden from all dropdowns. Defaults to true
Description FText Optional description displayed as a tooltip in the preset dropdown

Output Path Token Reference

Token Expands To
{ACT} Act identifier extracted from the shot name
{SCENE} Scene identifier extracted from the shot name
{SHOT} Full shot name (the Level Sequence asset name)
{PASS} Render pass name as defined in the MRQ primary config
{FRAME} Zero-padded frame number, e.g. 0042
{DATE} ISO 8601 date of the render, e.g. 2026-06-03
{PROJECT} Unreal project name

Project Settings

All settings live at Edit > Project Settings > Plugins > Continuity.

#include "ContinuitySettings.h" — accessible via GetDefault<UContinuitySettings>().

Naming Conventions

Setting Type Description
TokenDelimiter FString Character separating hierarchy tokens in sequence asset names. Default: _
ActTokenPattern FString Regex pattern matching the Act portion of a name, e.g. ACT\d+
SceneTokenPattern FString Regex pattern matching the Scene portion, e.g. SC\d+
ShotTokenPattern FString Regex pattern matching the Shot portion, e.g. SH\d+

Handle Manager

Setting Type Description
HandleFrames int32 Number of handle frames to extend on each side of a shot. Default: 8
HandleOverlayColor FLinearColor Color of the handle region overlay when Show Handles is enabled. Default: semi-transparent amber

Sequence Browser

Setting Type Description
bAutoRefreshOnLevelLoad bool Automatically rebuild the browser tree when a new level is opened. Default: true
bShowFrameCount bool Display frame count alongside duration in shot rows. Default: true
bShowInOutMarkers bool Display working range in/out values in shot rows. Default: true

Export

Setting Type Description
DefaultEDLExportPath FDirectoryPath Default directory offered in the EDL save dialog. Default: project's Saved/Export folder
DefaultCSVExportPath FDirectoryPath Default directory offered in the CSV save dialog. Default: project's Saved/Export folder
DefaultRenderPassPreset TSoftObjectPtr<UContinuityRenderPassPreset> Preset selected by default in the Queue dialog. Can be left null to require explicit selection

EDL Exporter

#include "ContinuityEDLExporter.h"

ExportEDL

bool FContinuityEDLExporter::ExportEDL(
    ULevelSequence*       MasterSequence,
    const FString&        OutputFilePath,
    const FFrameRate&     OutputFrameRate,
    FContinuityEDLExportOptions Options = FContinuityEDLExportOptions()
);
Parameter Type Description
MasterSequence ULevelSequence* The top-level sequence whose sub-sequence sections define the cut. Must not be null.
OutputFilePath const FString& Absolute path including filename and .edl extension
OutputFrameRate const FFrameRate& Frame rate used for all timecode values in the output. Typically the master sequence's display rate
Options FContinuityEDLExportOptions Optional settings struct (see below)

Returns true on success. On failure, writes a reason to the output log under the LogContinuity category.

FContinuityEDLExportOptions

Field Type Default Description
bIncludeDisabledShots bool false Include sub-sequence sections that are muted or disabled in Sequencer
bUseShortReelNames bool false Use only the Shot token as the reel name instead of the full sequence name
StartTimecode FTimecode 00:00:00:00 Timecode offset applied to all record timecode values in the EDL

CSV Exporter

#include "ContinuityCSVExporter.h"

ExportCSV

bool FContinuityCSVExporter::ExportCSV(
    ULevelSequence*           MasterSequence,
    const FString&            OutputFilePath,
    EContinuityCSVProfile     Profile,
    FContinuityCSVExportOptions Options = FContinuityCSVExportOptions()
);
Parameter Type Description
MasterSequence ULevelSequence* The sequence whose shot hierarchy is enumerated for the sheet
OutputFilePath const FString& Absolute path with .csv extension
Profile EContinuityCSVProfile Which column set to write (see enum below)
Options FContinuityCSVExportOptions Optional settings struct

Returns true on success.

EContinuityCSVProfile

Enum Value Description
EContinuityCSVProfile::Master All shots with shot name, duration, frame range, camera, notes, and status columns
EContinuityCSVProfile::Colorist Shots with color-grade columns: shot name, frame range, camera, LUT reference, color notes, status
EContinuityCSVProfile::VFX Shots with VFX columns: shot name, frame range, camera, VFX pass names, complexity rating, status
EContinuityCSVProfile::ShotGrid ShotGrid-compatible layout: shot name, duration, frame range, camera, and a ShotGrid-compatible status field using ShotGrid's status code vocabulary

FContinuityCSVExportOptions

Field Type Default Description
bIncludeHeader bool true Write a header row as the first line of the file
bIncludeDisabledShots bool false Include muted or disabled shots in the sheet
Delimiter TCHAR ',' Column delimiter character. Use '\t' for TSV output

Shot Sidecar

Shot sidecar files are written automatically by the Batch Shot Queuer when rendering completes. The file is named <ShotName>.continuity.json and placed in the same directory as the rendered EXR frames.

Sidecar JSON Schema

// Example sidecar file content
{
    "ShotName":      "ACT1_SC02_SH030",
    "FrameRangeIn":  1001,
    "FrameRangeOut": 1064,
    "Camera":        "CineCamera_Hero",
    "RenderPasses":  ["Beauty", "Depth", "Cryptomatte"],
    "RenderPreset":  "Full CG",
    "Timestamp":     "2026-06-03T14:22:01Z"
}
Field Type Description
ShotName string Full Level Sequence asset name
FrameRangeIn integer First rendered frame number (inclusive)
FrameRangeOut integer Last rendered frame number (inclusive)
Camera string Actor name of the bound CineCameraActor in the Camera Cuts track
RenderPasses string array Names of all output passes in the MRQ job
RenderPreset string Display name of the UContinuityRenderPassPreset used
Timestamp string ISO 8601 UTC timestamp of render completion