[Plugin] 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.

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);