MRG : First Impressions

MRG : First Impressions

After spending a day overall diving into the Movie Render Graph in Unreal Engine 5.4, here are some of my thoughts and impressions. Keeping in mind that this is experimental and very far from production ready.


A short overview of features between MRQ and MRG that are either different or deprecated/not supported yet.


  • Apple ProRes output rendering is missing in MRG.
  • Deferred Renderer. Has a tonne of features absorbed into it from MRQ settings modules such as Anti Aliasing and Color enabling. This is the same settings breakdown for Path Trace node as well.
  • A large section of this MRG node is "Show Flags". This panel has a load of flags that enable or disable those specific components of the engine on the final rendered image(s). A couple of varied examples include being able to turn off Fog, Decals, Bloom, Lens Flares, Specific light types (Point, Rect etc), Render channel layers such as AO, Diffuse, Direct Lighting and more.

  • Color spaces have been moved to individual sequence nodes (.PNG, .JPG, .EXR) meaning you can apply different color space configs to separate outputs.
  • Execute Script. This appears particularly useful if you have a python or C++ based rendering pipeline. The script is initialized and ran on job start but it appears you can code functions to trigger at different points in the jobs lifetime.

  • Apply CVar Preset. Upon the switch to 5.2 UE deprecated the ability to use Cvar's as variables in BP. This meant a lot of the scalability of the MRQ was lost as there wasn't really a comparative way of executing Console Variables at runtime. Now with this node you can have collections of CVar's available to use in many different rendering situations.

  • Subgraph. A powerful node here with the ability to have many different MRG graphs split up. Meaning easier access to develop and iterate but also a much more modular friendly way to control the global pipeline.

  • Command Line Encoder. Another great and rather unseen feature both from MRQ and MRG is the ability to curate your own output format that can be handled by outside software. I primarily use FFmpeg to output all my drafts and previz straight to MP4 with audio, saving hours of my time restitching audio and videos together to publish internally.

  • Collection. While this appears simple on the surface with the ability to hold a group of objects similar to the layers window did with the MRQ in versions before this. The boolean nature of these "Condition Groups" mean I can have an almost "Dataprep-type" workflow with how I group assets in my level(s) at runtime. An example in the screenshot below is I am adding an entire folder to the collection > finding all static mesh components in the level(s) (unclear if this is from the levels or it is only within the folder specified, more testing needed) > removing a particular mesh > grouping another folder in the editor and then adding all selected individuals to the collection.

  • Modifier. Used in Conjunction with the Collections node this allows you to work on a finer level controlling the visibility and global material of all actors within a specific collection. You can have multiple collections being affected by one modifier node. The visibility tab is wonderful as it finally collates some settings that were always separated in the actors details panel previously. Two new additions to the engine toolset is exposed rendering parameters for "Cast shadow while hidden" and "Affect Indirect Lighting While Hidden". These will be great for Automotive work as it will give the artist the ability to create shadow catchers and hidden key/fill lights. Below that we have a global material override which could allow use to render matcaps/clay renders for example at runtime without having to go through hundreds (or thousands depending on the maturity of the data) of static mesh actors and set it's material.

  • Remove Render Setting. This node automatically removes a node in a chain at runtime while keeping the whole chain intact from end to end. I have set this example to remove the Command Line Encoder that I use for MP4 export if I wanted to just render still images or 1 frame.

That's the majority of the most useful and powerful nodes broken down. Couple this with the ability to use BP's to inject global variables into the MRG before the job has been initialized means that toolsets can now be a lot cleaner and automatic. With the ability to use Branch nodes with a global boolean variable we can have many different MRG sub graphs all within one global render pipeline and based on an artists choice, it would automatically switch to the directed subgraph.

All in all, this new interface and workflow is great. It's still temperamental with some bugs and drawbacks (cast shadow while hidden is broken for me, but works for others), when it finally matures to a production ready state I can see a lot of M+E studios and developers taking advantage of this much more easily than the previous MRQ pipelines have done.

If you have gotten this far, why don't you comment down below what you think this could be interesting for!

Marc Kleinmann

?? Building Virtual Worlds with Unreal Engine 5 & AI Tools

10 个月

This is super helpful - thx. ??

Lovely breakdown Scott Rafferty! Hope you're keeping well!

Gavin Saville

Director/Producer/Writer/A.D./Camera Op/Filmmaker/Educator/Former Conservation Scientist/Sessional Lecturer and Tutor Virtual Production

10 个月

Bravo Scott. Been trying to get my head round modifier and collector. Need some free days (and a new computer).

Mark Evan Branton

Senior CG Artist and Compositor

11 个月

thanks for the breakout, Scott!

Alulla Alemayehu

Freelance Art Director at the Intersection of CGI and Fashion. || Creating visuals and immersive experiences for the Fashion & Sportswear Industry. ||

11 个月

Scott Rafferty thanks for sharing your first impressions. Came at the right time, was planning to give it a spin this weekend. ????

要查看或添加评论,请登录

Scott Rafferty的更多文章

社区洞察

其他会员也浏览了