Using Render Graph with Movie Pipeline Runtime Subsystem

Hello.

I am trying to use MoviePipeline Runtime Subsystem to render out image sequences from my application built with Unreal Engine and I have two issues:

Previously I used old Movie Piepieline configuration preset workflow and it worked fine (except some problems after first render)

Now I try to use the new Render Graph as it is actually better suited for our use case and I am struggling to get user variable overrides to work.

First I do a “Set Graph Preset” on my Render Job to assign my render graph preset which has several custom user variables (like output directory, resolution, use layered or non-layered toggle etc.)

[Image Removed]

Then I do “Get or Create Variable Overrides” that gives me a container object.

Then I assign values to my properties by name in this container object (Set Value String etc. ). Debugging verified that values are found correctly and their values get set successfully.

[Image Removed]

But then when I render the job, it still uses default values defined in RenderGraph itself.

[Image Removed]

Am I missing something or using incorrectly? Looking at the code, it seems it should work, but It is very hard to debug because of how it all is implemented using UObject property bags and movie pipeline executor process, so Instead I decided to ask here.

.. And then there is second issue after the render:

I use custom UI to display rendering progress:

[Image Removed]

I created using existing movie render queue render progress UI window as an example and it works nice - render job spawns this UI widget in my game window, I get the render preview texture, all progress information etc.. but it never gets removed once the rendering finishes - it just hangs indefinitely over my existing UI. This bug has been there since forever. I suspect that because in Unreal Editor it just closes the preview window, that the actual UI widget is never actually removed.

Hey Gatis,

It sounds like what you might be running into is that you’re not calling Set Variable Assignment Enable State on the variable whose value is being changed. This is a function on the variable container. The “enable state” corresponds to the override/enable checkbox for the variable in the queue, which is off/false by default.

Not sure if you are aware but we ship some python with the engine that covers some of this:

Engine\Plugins\MovieScene\MovieRenderPipeline\Content\Python\MovieGraphEditorExampleHelpers.py

See the set_variable_overrides() method in that file specifically.

Hmm, yeah, this looks like a bug. I’ll flag it for the dev. Out of curiosity, what are you trying to accomplish with the custom preview window?

Omg, that was it! Thank you so much!!! Very easy to miss.

Now the only issue that remains is that the render UI is not removed for some reason when the job finishes.

Thank you so much!

We are building a digital twin application for VFX production .. It needs to have rendering capabilities - to render out sequences .. and the rendering UI needs to be integrated in the application in a nice way.

Gatis