A downloadable tool for Windows

Buy Now$14.99 USD or more

A renamed level breaks every shot at once.

A possessable binding, an Event Track key payload and a Dynamic Binding resolver payload each store an absolute path into the level a cinematic was authored against. Rename or duplicate that level and all three stores go dead together, in every sequence that referenced it.

Unreal repairs one of them, in one place. FSequencerUtilities::FixActorReferences needs the sequence open in Sequencer and there is no headless path, and it does not touch Event Track payloads at all. Those get fixed keyframe by keyframe, by hand, in every shot.

This walks the whole tree and opens nothing.

Point it at a folder. It recurses every subsequence and shot, repairs what it can prove, and writes a row per sequence saying what it did. On the cinematic in the screenshots, one master, four reels, forty-two shots, that is 47 sequences, 129 binding sites and 63 event payload sites, walked in 2.7 seconds with no Sequencer instance and no editor UI.

Every event payload repair is read back out of the recompiled director.

A payload lives in the director blueprint's compiled entry point, so a repair that is written but not recompiled changes nothing a player sees. This recompiles, then reads the bytecode back and looks for the new path. If the old one is still there the write is rolled back rather than counted. 62 of 62 verified on the measured run.

It refuses rather than guesses.

A reference is repaired only on a rule it can name: the level moved, the actor moved, or exactly one actor carries the label. Everything else is refused and listed with every candidate it considered, label, level and class, so a person can decide in seconds. The measured run refuses four references, in three sequences, from three causes: one ambiguous label shared by two actors, one wrong-class stand-in, and two references to a deleted actor.

Reversible, and built for a build server.

Every run writes a JSON journal and prints the exact -Undo command. The commandlet returns a documented exit code, 0 Clean, 2 Repairable, 3 NeedsReview, and four failure codes, and never returns 1, so a build server cannot mistake the engine's own failure for a verdict about your sequences.

Three ways in

Content Browser: right click sequences or a folder, Rebind Sequence Tree...
Editor console: SER.OpenPanel /Game/Cine
Headless: -run=SequencerEventRebinder -Sequences=/Game/Cine -Apply

The panel scans and shows you what it found. Nothing is written until you press Apply.

What you get

Full C++ source, raw and readable. One editor module, 20 private translation units, 11 public headers and 12 automation tests. No content, no Blueprints, no obfuscation.

Scope, stated plainly

UE 5.8 only. Built, gated and run against 5.8, and EngineVersion enforces it. Nothing else is claimed.
Windows (Win64), editor only.
It repairs actor references. It does not author, retime or retarget anything.
The demo cinematic has no Dynamic Binding payloads, so that store is covered by the automation tests rather than by the screenshots.
Read only sequences are reported and refused, never forced.

Documentation: github.com/onefreeman1337/csaf-releases

Also on Fab.

Purchase

Buy Now$14.99 USD or more

In order to download this tool you must purchase it at or above the minimum price of $14.99 USD. You will get access to the following files:

sequencer-event-rebinder-windows.zip 101 kB
Version 1.0.1

Development log

Leave a comment

Log in with itch.io to leave a comment.