MRQ Rendering from Editor Blueprint: Cannot Set the Sequence

I’m trying to start an MRQ render via an Editor Utility Blueprint.

Here’s what I want to achieve:

I have a scene with a big city with spaceships flying around but the simulation needs to run for about a minute for the sky to be populated by the spaceships so I decided to create an Editor Utility Blueprint and start an MRQ render with a delay.

I followed the Movie Render Queue in Runtime Builds guide from Epic.

Here’s how my blueprint looks like:

The script works as intended until it stars to render the actual thing. It is not rendering my sequence although I set it up properly using a variable. It’s rendering from the point of the default camera. I’m also using an MRQ render setting which I’ve setup and saved as a variable as well. My render settings are working as far as I can tell. eg. when I change the custom render frame range, it seems to work.

In the image below you can see the Current Sequence part is empty.

I also have a follow up question:

Once the render starts and you stop the simulation, the render keeps going in the background. Even if I quit UE, I have to go to Windows Task Manager and kill “Unreal Engine” process or wait for it to finish it. Is there a way to kill the rendering process without exiting Unreal? Btw the render happens not in a separate window as usual but in the viewport so it seems I’m only stopping the simulation but not cancelling the MRQ render.

Thanks

Ok here’s an update. I’ve managed to set the Sequence by using ”Allocate” Job node which already has a Sequence input that doesn’t need string converting stuff instead of the “Allocate New Job” node.

Now I can see the name of the sequencer but the renderer is still deferring to the default camera.

As you can see now I can see the name of the sequencer “CityTest” but the camera is the dafault one, not the one you see in the background. I’ve set up my sequencer correctly, I have a proper Camera Cut track and I’ve assigned the sequencer asset as the variable not the scene actor one.

I suspect the problem lies here in this set of nodes:

I’m using “Movie Pipeline In Process Executor” in my Construct Movie Pipeline Process Executor node. And after that I’m setting the level to the current one so that the renderer doesn’t open my level from scratch, remember I’m trying run the simulation for a while before rendering. Next I’m using Bind Even to Executor Finished which is fine as it is.

After that I’m using “Render Queue with Executor Instance” and it’s connected to the Construct Movie Pipeline Process Executor. I’m using the “Instance” one not the “Render Queue with Executor” node because that doesn’t work at all. I either get “One or more jobs in the queue have an unsaved map as their target map. Maps must be saved at least once before rendering, and then the job must be manually updated to point to the newly saved map.” error or it starts rendering an empty default level.

I’ve lost 2 days trying to figure out this simple thing and there isn’t really good documentation about this and I suspect some of the nodes have changed in 5.6 as well.

Please help, I’m tearing out my hair at this point. :face_with_bags_under_eyes: Thanks

Ok, another update. I changed my script a bit using this updated guide:

Here’s my new BP, it’s a simpler script:

I tried it with a different scene, yet I have the same result:

As you can see even in a different scene, it’s rendering the default camera, not my camera cut track. My sequence is setup properly as well, it is also showing on the “current sequence” in the bottom left. It’s a very simple sequence as well; there’s only one camera movement and that’s it, nothing complicated. I’ve started to think that this is actually a bug. 2 different methods and I’m still getting the same result.

Thanks

Ok. After struggling it for a week later I finally solved it, thanks to ChatGPT.

I believe it’s still a bug and I already reported as one to Epic.

Here’s GPT’s solution:

Hack with CineCameraActor

  • Instead of relying on Sequencer’s Camera Cuts, manually possess the CineCameraActor you want just before triggering MRQ.

  • MRQ falls back to “active player camera” if no Camera Cut track is resolved. If you make sure the “default camera” is your CineCameraActor, it will render that.

  • Downside: no cuts between cameras, you’d need one render per camera.

And here’s the final Editor Utility Blueprint (you need an EUB if you want to stop the editor simulation after the render. A normal actor BP won’t allow you to do it.)

The trick is in the first part. Here’s a closeup:

This tells UE: “The active camera is my CineCameraActor.” The variable there is CineCameraActor (Object Reference). Assign it to your render camera in your editor. Now it renders the correct camera. The only downside is that you can only use one camera per sequence but that’s fine, at least for me.

Solved…