Consequence's Unreal Engine integration converts the data authored in Consequence into runtime data and Unreal assets that can be used directly by your game.
At a high level, the pipeline is:
Consequence.app → Consequence Client → Perforce → Consequence Unreal Engine Plugin
When you click Submit to Source Control in Consequence:
ConsequenceExport.json.In Unreal, open the Consequence window and run an Update to import the latest data into the project.
Most Consequence runtime data is imported into a single Consequence Database Data Asset.
The database contains data including:
Consequence therefore does not create a separate Unreal asset for every Event or Line.
The location of the Consequence Database is configured in Consequence Runtime Settings, so it is not tied to a particular Content Browser directory.
See Engine Settings for more information.
Each Consequence Event is imported as an FConsequenceEvent.
Each dialogue Line inside the Event is represented as an FConsequenceLine.
Events have a project-wide numeric Event ID (EID), while Lines have project-wide numeric UIDs.
These IDs allow Consequence runtime data to remain stable independently of human-readable names. For example, an Event reference in Unreal stores its EID, allowing the Event to be renamed in Consequence without breaking the reference.
Line UIDs are also used throughout the pipeline to associate Lines with other content such as audio and facial animation.
Characters authored in Consequence are imported into the Consequence Database and associated with Gameplay Tags under the Consequence.Characters hierarchy.
A Character in Consequence does not create a new character Actor or Blueprint in Unreal.
Instead, game Actors identify which Consequence Characters they can represent by using the Consequence Speaker Component and the appropriate Character Gameplay Tags.
See Set Up Speaking Characters In Engine for more information.
Trigger Rules authored in Consequence are imported into the database and indexed by their Consequence.Triggers Gameplay Tags.
At runtime, Consequence can query those Rules to find the best matching Event for a Trigger based on its Conditions and the current game state.
Trigger configuration such as cooldowns, chance, query-context behavior, and Trigger Payloads is imported alongside the Rules.
See Trigger Events In Engine for more information.
Fact definitions are stored as normal Unreal Gameplay Tags rather than only inside the Consequence Database.
Consequence Client synchronizes these Facts with your project's configured Gameplay Tag .ini files.
Conditions stored in the Consequence Database then reference those Gameplay Tags when testing game state at runtime.
See Facts and Game State for more information.
UI Strings are handled separately from the main Consequence Database.
Consequence synchronizes Strings with Unreal String Table assets. Strings created inside Consequence are placed in the UI_Consequence String Table by default unless another String Table is selected.
The ConsequenceStringsExchange.json file is used as part of the exchange between Consequence and the String Tables in your Unreal project.
See Strings and Localization for more information.
Dialogue imported into the Consequence Database is stored as Unreal FText.
Each dialogue Line receives a stable localization key based on its Event ID and Line UID, allowing Unreal's normal text gathering and localization workflow to process Consequence dialogue.
Choice text is likewise imported as localizable FText.
See Localization for information about configuring Unreal's Localization Dashboard for Consequence dialogue and Strings.
Audio and facial animation remain normal assets within your Unreal project rather than being embedded in the Consequence export.
During an Update, the Consequence Unreal Engine Plugin scans the configured audio and facial-animation directories and associates matching assets with Consequence Lines using their UIDs.
These associations are stored as soft asset references on the imported Lines.
When using Wwise, Consequence can associate Wwise audio Event assets. Projects configured without Wwise can instead use Unreal SoundBase assets.
See Audio Workflow and Engine Settings for more information.
Running an Update in the Unreal Editor synchronizes the latest Consequence data and source-control files, rebuilds the Consequence Database, synchronizes String Tables, and associates the latest audio and facial-animation assets.
The same import process can also be run automatically as an Unreal commandlet on a build machine.
See Updating Consequence on a Build Machine for automated integration.