Sequence Recorder Automation

Hi, I am attempting to automate sequence recording with an editor plugin. Unfortunately most of the SequenceRecorder module is Private, namely SequenceRecorder.h which contains all useful functions, while the publicly exposed classes are mostly useless.

The only way I have been able to kick off a sequence recording through code is by creating a Blueprint actor in scene to call the exposed StartRecordingSequence function from SequenceRecorder’s Blueprint function library through. This however is far from ideal, as the recording has a built in four second delay and complicates the plugin, forcing me to manage scene actors etc.

I have contemplated editing the module to expose SequenceRecoder.h, or adding a class in the module to expose the functions. However, I would prefer this plugin not to require engine module source edits and would like to avoid re-implementing the entire module to expose a single function which already exists. I am hoping someone can provide some insight into working with engine modules in this manner.

I have figured out the solution:

I needed to get the SequenceRecorder module from FModuleManager and use the ISequenceRecorder interface to call the functions:

ISequenceRecorder& SequenceRecorder = FModuleManager::LoadModuleChecked<ISequenceRecorder>("SequenceRecorder"):

TArray<AActor*> ActorsToRecord = GetActorsToRecord();

SequeceRecorder.StartRecording( ActorsToRecord, nullptr, nullptr);

HI, I have the same issue here.
and about the method you mentioned : GetActorsToRecord(); I can not find it.

So my question is how can i get the actors to record.


GetActorsToRecord() returns TArray which contains actors which will be recorded to the sequence. It is a member of the class and not a built in function.

How you populate the list is up to you. The way I get the actors to record for my purposes is through a slate details view widget, which allows the user to pick from actors in the world. You could also iterate through the world actors and add those currently selected to the array.

Thanks : )