Pairing Editor

Documentation Unreal Engine Player Combat Paired Actions

A Paired Action opens in the pairing editor: stand-ins on their rings in a viewport, a timeline of each role's part, montage and events, camera shots, and a list of what still needs fixing.


Set it up

5 minutes
  1. 1

    Open the paired action

    Double-click Paired_MyExecution from Paired Actions.
    Paired_MyExecution
    Double-click to open
  2. 2

    Give the Attacker an events lane

    On the timeline, right-click the Attacker's Role row and choose Add Event Track: a green Events lane appears.
  3. 3

    Land the blow

    Scrub to the frame the blow lands, right-click the lane there, choose Add Event and pick Deal Damage. In Details, set Target Role Id to Victim and Damage Override to 25.
    Details
    Deal Damage
    Paired Action Event
    Time Seconds
    1.20
    Target Role Id
    Victim
    Skip when Target Missing
    Damage Config
    None
    Damage Override
    25
    Impact Socket Name
    None
    Extra Damage Tags
    0 Gameplay Tags
    Run Hit Effects
    Carried by the Attacker and aimed at the Victim, so the attacker's stab lands on the victim at 1.2 seconds into the action.
  4. 4

    Drop the victim at the end

    Give the Victim a lane and add a Ragdoll near the end of its montage, with Target Role Id empty (an event with none acts on the role carrying it). Ragdoll needs a UPC Physical Reaction with a Reaction Set on the victim, which the demo's BP_UPC_PairedDummy carries. The victim leaves the action limp; the Attacker plays on.
  5. 5

    Save and press Play

    Take part again: the dummy takes 25 damage as the blow lands and drops limp at the end.

The window

Paired_MyExecutionDerive OffsetsFit ActionFrame All
Preview
Attacker (Anchor)Victim
Stand-ins on their rings. Click a stand-in and drag the gizmo to move its role; the Camera Shot strip appears here for a role with an Authored Camera Shot hook.
Timeline
One folder per role: its Role bar, its Animation bar and its Events lanes.
Roles
Add Role, rename, set the anchor, show or hide a stand-in.
Action
Settings for the whole action: anchor, release, placement.
Details
The selected role, or the selected event.
Validation
Issues, with a Fix button where one answer is right.
The pairing editor as it first opens. Every panel can be docked elsewhere; Window, Pairing Editor brings a closed one back.
PanelHolds
PreviewA stand-in per role on its ring, posed at the playhead.
TimelineA folder per role: Role, Animation and Events rows.
RolesAdd, rename, delete, set the anchor, hide a stand-in.
ActionWhole-action settings (The anchor).
DetailsThe selected role or event; Preview Settings opens from Window, Pairing Editor.
ValidationThe asset's issues (Validation).
Toolbar: Derive Offsets overwrites each role's offset with where its montage places the character, Fit Action lets the length follow the content again, Frame All frames every role. Selecting a role in one panel selects it everywhere.

Line the roles up

Roles
+ Add Role
Attacker★×
Skeletal Mesh ▾None
Victim×
Skeletal Mesh ▾None
The first role added becomes the anchor and carries the star. F2 or a right-click renames a role; the right-click menu also holds Set as Anchor and Delete.
  • Add Role adds Role1, Role2 and on; a new asset's first is the anchor (star, gold tile). F2 renames (anchor and Face Toward settings follow); right-click, Set as Anchor sets the anchor and At Role.
  • A rename leaves events aimed at the old name with no target; they never run, and Validation lists them.
  • Click a stand-in to select its role (white ring outline), then drag the move or rotate gizmo; it stays on the ground and turns on the vertical axis. The anchor only turns.
  • Rings: gold anchor, blue required, green optional, gray "(done)" once the montage has ended at the playhead. Show, Pairing toggles Slot Rings, Role Labels and Anchor Guides.

The timeline

Paired_MyExecution
0.0
0.5
1.0
1.5
2.0
2.5
3.0
Attacker (Anchor)
Role
Role
Animation
AM_UPC_Unarmed_Execute_Attacker_B
Events
Deal Damage on Victim
Victim
Role
Role
Animation
AM_UPC_Unarmed_Execute_Victim_B
Events
Ragdoll
Times are an example. The Role bar runs from join to release, with the Victim's glide as a dashed slope; the Animation bar is the montage's played stretch.
RowDrag to set
RoleLeft edge Role Start Seconds, right edge Role End Seconds.
AnimationThe whole bar sets Start Delay Seconds. Dragging the left edge right by 0.5 s adds 0.5 to Start Delay Seconds and to Play from Seconds: the montage starts later and skips its first 0.5 s, and the rest stays put. The right edge sets Play to Seconds. An amber line marks the Sync Marker, where a Sync with Current role lines up with the swing it takes over (Paired Actions).
EventsA bar's Time Seconds, snapped to the frame, and a window's length.
Two clocks. Role Start Seconds, Start Delay Seconds and an event's Time Seconds count from the action's start, not the role's join; Play from Seconds and Play to Seconds are times inside the montage. A Victim with Role Start 0.5, Start Delay 0.8 and Play from 0.3 joins at 0.5 s and starts its montage at 0.8 s, 0.3 s in. A Data Driven role's montage starting inside its glide loses root motion until the glide ends, so start it after the slope.
Right-click a row for Add Event Track, Add Animation Track, Fit Role To Content (once its start or end is set) and the deletes, or a lane for Add Event, any event class included. An event outside the bar of the role carrying it never runs and shows dimmed. The end marker sets Action Length Seconds; Fit Action clears it.

Events

An event fires at a second of the action on the role in Target Role Id (the carrying role when empty), so an attacker's stab can damage the victim. Moving a montage leaves its events put. Skip when Target Missing (on) skips it while the target role is empty or out of the action; a window's Duration Seconds (0.25) ends early with the action or its role.
These run on the server:
EventDoes
Deal DamageA weapon hit from a Damage Config or Damage Override; Kill takes all the target's health whatever defends it.
Apply Effect, Remove Effect, Apply Effect For DurationA gameplay effect on the target (the window form for its length).
Hold TagsA window of tags on the target, such as UPC.State.Intangible.
PushLaunches a character target.
RagdollDrops the target limp and out of the action while the rest play on; needs a UPC Physical Reaction with a Reaction Set.
Release RoleLets the target out early. Both end the role Completed, so Cancel All leaves the other roles playing.
Send Gameplay Event, Gameplay Event WindowA gameplay event, or one at the window's open and one at its close.
Activate AbilityStarts an ability granted to the target.
Play Gameplay CueA cue every player sees, such as a camera shake.
Notify Listener, Notify Listener WindowCalls On Paired Action Event on a UPCPairedActionListener.
DisarmKnocks the drawn weapon down, or puts away one that cannot drop.
These play on every machine showing the action, never a dedicated server:
EventDoes
Play SoundA sound at a placement; Follow tracks the socket.
Play Niagara, Timed NiagaraA Niagara system at a placement (timed form for the window).
Anim Effect, Anim Effect WindowAsks the target for an effect by tag; it answers with its own sound or particles, as for an anim effect notify.
Details
Ragdoll
Paired Action Event
Time Seconds
2.20
Target Role Id
None
Skip when Target Missing
Use Reaction Set Defaults
Impulse Bone
None
Impulse Frame
Away from Source
Impulse Strength
0
Impulse Vertical
0
Carried by the Victim with no Target Role Id, so it acts on the Victim itself: drops it limp and lets it out of the action. It needs a UPC Physical Reaction component with a Reaction Set.

Place an effect on a body

Sound, Niagara and cue events carry a Placement: an Origin (Target the role acted on, Source the role carrying it, Anchor the ground spot, no socket), a Socket Name on that role's mesh, and a Location Offset and Rotation Offset. Play Once in Preview spawns a Niagara system at the playhead.

Stand-ins

Preview Stand-In in Details, or the combo under a role in Roles, sets what stands in for it; none of it reaches the game.
Preview KindShows
Skeletal MeshDefault: Preview Mesh, else the montage's or skeleton's preview mesh, posed; Preview Anim Instance Class runs an Animation Blueprint instead.
Actor ClassPreview Actor Class, posed on Preview Actor Mesh Component (else its first skeletal mesh).
Static MeshPreview Static Mesh, unposed, for a prop.
NoneRing and label only.
Preview Items puts items in its hands, Preview Scale (1) matches a scaled character, Preview ZOffset lifts it, Preview Mesh Yaw Offset (-90) faces a mesh like the game character. Project Settings, Plugins, Universal Player Combat Pairing Editor picks which Actor Class components show.
Details
Universal Player Combat Pairing Editor
Preview
Preview Actor Component Filter
Main Skeletal Mesh
Preview Components Always Kept
0 Array elements
Which of an actor class's components show when a role previews as that actor. Editor only.

Camera shots

An Authored Camera Shot hook plays a keyed camera move for the player in a role:
  1. Add it to the role's Hooks; a Camera Shot strip appears in the viewport.
  2. Create Shot saves a Camera Shot asset (action name plus _Camera), assigns it and turns on Edit Camera.
  3. Scrub, Add Key and move it with the gizmo, or fly the viewport there and Capture View.
  4. Preview Camera looks through the shot; with Auto Key, flying writes the key at the playhead.
The strip edits a key's Time (s), FOV (deg), Curved (path bends through a handle) and To next (Linear, Smooth, or Hold: keep this view, then cut), with View Key, Delete Key, Duplicate Shot and Curve New Keys. Hook settings: Camera.

Validation

The Validation panel lists the asset's issues as you edit; double-click one to select its role and frame the cast, and Fix makes the change it names. Saving logs the same issues under LogUPCPaired; Troubleshooting lists each with its fix.
Validation
Role 'Victim' is let go at 1.5s, before its montage ends at 2.4s, so the animation is cut off there. Drag the right edge of its bar out, or use Fit Role To Content, if that was not intended.
Role 'Victim' plays to 0.4s, at or before where it plays from at 0.6s, so nothing plays. Drag the right edge of its montage bar out, or set Play To Seconds to 0 to play to the end.Fix
Double-click a row to select its role and frame the whole cast in the preview. Fix makes the one change the message names, as an undo step of its own.
AdvancedEditor and event details
  • A Blueprint child of UPCPairedActionEvent overriding Fire Paired Action Event is an event of your own; Cosmetic in its Class Defaults runs it on every machine.
  • Preview Items gate nothing in the game; each sits where its first Hold Places entry holds it on a default body. An Actor Class stand-in keeps its class scale, which Preview Scale multiplies; its items and root motion scale with it, its slot does not.
  • Hold Tags and Apply Effect For Duration come off even when the action is cut short. Push points away from the carrying role by default. Ragdoll uses the Reaction Set's default ragdoll unless Use Reaction Set Defaults is off. Deal Damage plays the config's hit effects unless Run Hit Effects is off; Kill leaves a target with Can Be Damaged off alone.
  • A placement socket the mesh lacks uses the character's position; Play Sound has no preview.
  • Role Labels show for All Roles, the Selected Role Only or none; Anchor Guides draw the anchor's ring, mode and a dashed line to the role it faces.
  • Move the Sync Marker on the montage, not the timeline.
AdvancedTroubleshooting
IssueFix
A role with no name, or two with one.Rename it.
An event aimed at a missing role, outside its role's window, or of no length.Retarget, move or lengthen it.
A role let go at or before it joins, or before its montage ends.Drag the bar, or Fit Role To Content.
Play from past the montage's end, or Play to before Play from.Fix resets it to 0.
Looping or jumping sections, or a play rate of 0 or less.Start on a chain that ends; raise the rate.
A Data Driven glide past its montage's end, of 0 length, or over root motion.Shorten it, start the montage after the slope, or Montage Driven (Fix, with a warp or approach window).
A Montage Driven role with no window on Warp Target Name.Author the window.
An anchor role with an offset position, optional or facing itself; an anchor or Face Toward role missing; a faced role behind.Clear it, tick Required, pick a role, or turn Formation Yaw Offset.
Sync with Current without a usable marker, two syncing roles, a late join or a blend in.Fix moves the start to the marker or sets Blend In to 0.
An Apply Effect whose effect never ends.A duration, or the window event.
A stand-in missing its asset or on the wrong kind; a preview mesh on another skeleton, an additive or multi-slot montage.Pick the asset or kind; preview-only issues leave the game unaffected.