How to customize nodes Movie Render Graph Config in C++?

I think this is up to your Python implementation (TestExecutorClass). There is “native” support (which doesn’t require a custom Python executor) for rendering an entire Queue (which should work with both MRQ and MRG jobs in that queue);

`/**

  • Command Line rendering supports two options for rendering things. We support a very simple ‘provide the level sequence/settings to use’
  • option which mimicks the old command line support. Option two is more advanced where you provide your own Executor. To allow for flexibility,
  • the only thing required here is the executor path, a queue/level sequence are optional.
  • Option 1: Simple Command Line Render.
    • Level Sequence (Required unless you pass an entire Queue asset, passed via -LevelSequence=“/Game/…”)
    • Preset or Queue to use (A preset is required if using a Level Sequence above, passed via -MoviePipelineConfig=“/Game/…”)
    • Will render on current map
  • ie:
  • “E:\SubwaySequencer\SubwaySequencer.uproject” subwaySequencer_P -game -LevelSequence=“/Game/Sequencer/SubwaySequencer.SubwaySequencer”
    -MoviePipelineConfig=“/Game/Cinematics/MoviePipeline/Presets/SmallTestPreset.SmallTestPreset” -windowed -resx=1280 -resy=720 -log -notexturestreaming
  • or:
  • ie: “E:\SubwaySequencer\SubwaySequencer.uproject” subwaySequencer_P -game -MoviePipelineConfig=“/Game/Cinematics/MoviePipeline/Presets/BigTestQueue.BigTestQueue”
    -windowed -resx=1280 -resy=720 -log -notexturestreaming
  • Option 2: Advanced Custom Executor.
    • Executor Class (Required, pass via -MoviePipelineLocalExecutorClass=/Script/MovieRenderPipelineCore.MoviePipelinePythonHostExecutor)
    • Level Sequence or Queue (Optional, if passed will be available to Executor)
    • Python Class Override (Optional, requires using MoviePipelinePythonHostExecutor above, pass via -ExecutorPythonClass=/Engine/PythonTypes.MoviePipelineExampleRuntimeExecutor
      */`

ie: If you pass a saved Queue asset with -MoviePipelineConfig, then it should attempt to render the whole queue. But your command line indicates you’re using the second option, where you’re using both MoviePipelinelocalExecutorClass and ExecutorPythonClass, and the engine should kick over into running your Python executor script just with the presence of those two lines. Once started, your Python class can pull any argument from the command line it wants using:

(cmdTokens, cmdSwitches, cmdParameters) = unreal.SystemLibrary.parse_command_line(unreal.SystemLibrary.get_command_line()) levelSequencePath = None try: levelSequencePath = cmdParameters['LevelSequence']

So you could pass a graph asset, and a level sequence, or a queue, etc. See: “\Engine\Plugins\MovieScene\MovieRenderPipeline\Content\Python\MoviePipelineExampleRuntimeExecutor.py” for more examples on how to get parameters off the command line and into jobs from within Python.