Osero Suite by Jeren Osero
FabYouTubeJeren Osero
  • Osero Suite
  • About
  • Frequently Asked Questions
  • Support
  • Featured Assets
    • [FEATURED] Module Creator
  • Supported Assets
    • Module Creator
      • About
      • Changelog
      • How to Use (5.2+)
        • Tutorial
        • Accessing the Module Creator
        • UI Outline
        • Module Templates
        • Plugin Content
        • Project Settings
      • How To Use (Legacy 5.1)
      • Frequently Asked Questions
    • Plugin Sync Tool
      • About
      • Changelog
      • How to Use (5.2+)
        • Tutorial
        • Accessing the Plugin Sync Tool
        • UI Outline
        • Project Settings
      • How to Use (Legacy 5.1)
    • Render Results Screen
      • About
      • Changelog
      • How to Use (5.2+)
        • Tutorial
        • Making Sure the Plugin is Active
        • Movie Render Queue Job Additions
        • UI Outline
          • Render Results Window
          • Render Graph
          • Contact Sheet
        • Accessing Previous Render Results
        • Data Handler
        • Plugin Content
        • Project Settings
        • Code Reference
          • Classes
            • UOS_RRS_DataHandler
            • UOS_RRS_RenderDataLibrary
          • Structs
            • FOS_RRS_JobData
            • FOS_RRS_ResultData
            • FOS_RRS_ShotData
          • Enums
            • EOS_RRS_RenderResult
      • How to Use (Legacy 5.1)
  • TECHNICAL NOTES
    • Foreword
    • Unreal Engine Notes
      • Actor Components
        • Component Transforms
      • Blueprints
        • Add Function to Promotable Operator Nodes
      • Compile Errors
        • Implicit Capture of 'This' via '[=]' is Deprecated
        • Specified Type Modifiers Are Not Allowed Here
        • Static Function in Namespace Not Defined
        • Circular Dependency Detected
        • Inconsistent Dll Linkage
        • Overloaded Member Function Note Found (Compile Error in .gen File)
      • Debugging
        • UIAction.h Line 139
      • Details Customisation
        • Add External Property to Details Panel
        • Default Slate Styles
      • Ed Modes
        • Registering Editor Modes
      • Editor/Engine
        • Get Engine Version in C++
        • Extending the Editor with FExtender
      • Input
        • Get Key or Mouse Button in C++
        • Mouse Cursor Location in World (3D Space)
      • Level Editor
        • Select Actor Component via C++
      • Meta Specifiers
        • Reference
        • Edit Condition
        • Bind Widget
      • Rendering
        • Set Graphics Card Timeout
      • Sequencer
        • Project Default: Completion Mode
      • Slate
        • Default Editor Icons
        • Test Suite
        • Set Default Value for Slate Arguments
        • Cast Between Different Slate Classes
        • Set UObject Delegate for TAttribute<T>
      • Trace
        • Simple Line Trace
        • Complex Traces
          • ETraceTypeQuery
          • EObjectTypeQuery
      • UObject
        • "Config" Specifier Does not Work Properly in 5.4+
      • UPlugins
        • Loading Phases
      • UPROPERTIES
        • GetOptions (meta)
      • Viewport
        • Get Piloted Viewport Actor
        • Update Pivot Location
      • Water Plugin
        • General
        • C++ Summary
        • Details Customisation
        • Classes Overview
          • UWaterSplineMetadata
          • FWaterSplineComponentVisualizer
        • Water Meshes
    • Windows Notes
      • Get Around "This App Has Been Blocked For Your Protection"
      • Windows Keyboard Layout Boot Loop
      • Disable Copilot
      • Disable "Search the Web" in Windows Search
    • Visual Studio Notes
      • Turn Off Auto Brackets
      • Disable Unreal Engine Integration Log
  • BUY OSERO SUITE PRODUCTS
    • Fab
  • SOCIALS
    • YouTube
    • Rumble
    • Twitter/X
    • Instagram
    • LinkedIn
    • Jeren Osero Website
Powered by GitBook
On this page
  • Transcript
  • Intro
  • Making Sure the Plugin is Active
  • Movie Render Queue Job Additions
  • Rendering
  • Render Results Screen
  • Render Graph
  • Contact Sheet
  • Accessing Render Results Outside of Rendering
  • Data Handler
  • Creating a Blueprint Data Handler
  • Creating a C++ Data Handler
  • Project Settings
  • Outro
  1. Supported Assets
  2. Render Results Screen
  3. How to Use (5.2+)

Tutorial

Documentation for the Osero Suite: Render Results Screen update 1.1 (5.2+)

Last updated 2 months ago

Transcript

Intro

The Osero Suite: Render Results Screen adds a convenient window to Unreal Engine, triggered when a render is finished through the Movie Render Queue. Wondering how your render went while you were away from your PC? Wondering which shot the render crashed on? Wondering how long a sequence took to render? These questions can be answered by adding the Osero Suite: Render Results Screen to your project!

Making Sure the Plugin is Active

To verify that the plugin is active, go to Edit > Project Settings... > Plugins > Osero Suite: Render Results Screen Settings > General and make sure Use Osero Suite Movie Render Pipeline Classes is ticked on.

When this tickbox is on, the plugin automatically sets, and verifies that, the executor and job classes are set to the classes from this plugin so that they don't have to be changed manually.

The Osero Suite: Render Results Screen uses these custom classes to record its data while rendering. This means that if you are using your own custom executor, this plugin likely isn't compatible out of the box.

Movie Render Queue Job Additions

The Osero Suite: Render Results Screen adds two additional variables into the Movie Render Queue when selecting one or more job(s).

Output Directory Override is a quick-edit for the Output Path of a job. This allows editing the Output Path for multiple jobs simultaneously without the need to open up each of their settings individually.

Split Shots Into Folders will automatically add the key {shot_name} to the end of the output path so that each shot renders into its own individual folder. This is often helpful for image sequence renders, rather than rendering everything to the one folder and ending up with thousands of images to sort through.

Rendering

Rendering is executed as normal from the Movie Render Queue tab. As the render progresses, the custom classes mentioned earlier record data to a json file.

When a render starts, the cursor will also no longer be consumed by the Preview Window.

Render Results Screen

Once a render finishes, a Render Results Screen will open in a new window.

There are four possible render results that may be displayed by the Render Results Screen.

Render Successful means that the whole render was completed successfully and there were no crashes or interruptions.

Render Interrupted means the process was shut down cleanly but the render did not successfully render all of its shots. This generally means a user has pressed the ‘X’ button in the window to interrupt.

Render Failure is an unexplained error. Most often this result is shown if the Movie Render Pipeline was unable to write output files to the disk. This might be because files that need to be overwritten are read only, or that the output directory does not and cannot exist.

Render Error means the process was not shut down cleanly. The Render Results Screen tries to show the last error encountered. This result normally occurs when a render crashes or the render is closed via the ‘X’ button in the engine CMD prompt, rather than the ‘X’ on the preview screen.

The Render Details Panel shows information about the render results being viewed. It shows the Project Name, Engine Version, and Render Times for this render.

The ‘Copy’ button will copy all of this information to the clipboard so that it can be pasted somewhere else.

Show Individual Shot Times will toggle individual shot time display in the Job Breakdown Panel.

The Job Breakdown Panel shows the status and render times of individual shots and jobs.

For each job in the render, it will show:

  1. the Job/Sequence Name;

  2. the total render time for the job;

  3. and the individual status of each shot.

There are also a number of buttons for each job.

This button will browse to the output location of the job in File Explorer.

This button will browse to the Level Sequence for the job in the Content Browser.

This button will open a render graph, showing the render times for all shots in the job.

When hovering a job or shot, a tooltip will be displayed. This tooltip will show information about the job or shot, and, if it’s available, will show the first frame rendered for the job or shot.

By default, the Oser Suite: Render Results Screen will save the last ten render results. These buttons here change which render results are currently being viewed.

If a render is unsuccessful, a button marked “Rerender Failed Shots” will be available. This will disable all shots that WERE successful and restart the render for all shots that were not rendered correctly. This means, if a render crashes, or is interrupted by a work colleague when they want to play Dota, the render can pick up from where it left off.

When a render is finished, regardless of its success status, “Rerender All Shots” will be available. This will start the entire render again from the start with no changes to any of the jobs or shots.

“Open Contact Sheet” will open the contact sheet window for this render if it is able to.

“View Render Graph” will open a render graph, showing the render times for all jobs in this queue.

“Close Window” will close the Render Results Screen window.

Render Graph

The Render Graph plots the times of Jobs or Shots as a Line Graph to make it easy to see which Jobs or Shots take the longest amount of time and may need optimising.

The x-axis shows the names of the Jobs or Shots.

The y-axis shows time.

Hovering an individual plotted point will show the exact render time.

“Save as CSV” saves all of the data into a plain text CSV file for use in external programs.

“Copy to Clipboard” converts the data to plain text CSV but rather than saving it to a file, copies it to the clipboard, so that it can be pasted elsewhere.

“Close Graph” will close the graph window.

Contact Sheet

The Contact Sheet is currently experimental in the Osero Suite: Render Results Screen version 1.1.

So what is a Contact Sheet? A Contact Sheet shows a series of images in a big collage to allow a user to view them together to give them a simple review.

In this case, the Contact Sheet generated by the Render Results Screen has two views. Job View will show the first frame of every job together. Shot View shows the first, middle, and end frames of each shot.

This allows for a quick and easy review of a render to check for obvious errors, such as lighting, colour, dead frames, or animation issues, before the sequence is loaded into an external program like Adobe Premiere.

In version 1.1 of the Osero Suite: Render Results Screen, the Contact Sheet only works with image sequence renders. It also works best if shots are all rendered to individual folders, or if the output image sequences contain the shot name in the image file title.

When the Contact Sheet opens, it will be in Job View by default. This will display information about the queue, as well as the first frame of every job in the queue. Clicking a Job will open Shot View for that job.

In Shot View, the Contact Sheet will display information about the Job, as well as the first, middle, and end frames of each shot.

Accessing Render Results Outside of Rendering

The Render Results Screen can also be summoned without setting off a render. It can be called from the option in the Osero Suite Menu located on the Level Editor Toolbar, or the Window menu.

Data Handler

Included in the Osero Suite: Render Results Screen, is the ability to create an automated task at the end of a render. This allows the user to process the render data in a way other than the Render Results Screen window.

The Data Handler class can be set in the Project Settings, along with an option to disable the Render Results Screen. When a render finishes in the Movie Render Queue, the data will be sent to this class to process in the user-defined way.

Creating a Blueprint Data Handler

To create a new Data Handler, right-click in the Content Browser and select Blueprint Class.

Under All Classes select Osero Suite: Render Data Handler.

When the new Data Handler is opened, it will be empty.

Under FUNCTIONS, click Override and select Handle Data.

This will add a new Event to this Blueprint called Handle Data.

The Result Data pin can be split into the data from the render and used as required.

The Job Data struct can be split into the data from the Job and used as required.

The Shot Data struct can be split into the data from the Shot and used as required.

There also a number of functions available under the Osero Suite: Render Results Screen category to help with interpreting this data.

Make sure to set the Data Handler Class in Project Settings to the newly created Blueprint class so that it can be executed when renders are finished.

There is an example Blueprint Data Handler class included with the Plugin, located at Osero Suite: Render Results Screen Content > Example > HandleData_SaveToDataAsset.

Creating a C++ Data Handler

To create a new Data Handler, add a new C++ class of type OS_RRS_DataHandler.

Note that the Data Handler Class is in an Editor Module, and so the recommended place for a new Data Handler Class is in another Editor Module.

Add Blutility, MovieRenderPipelineCore, and OS_RRS_Editor to the Module's Build.cs file.

"Blutility",
"MovieRenderPipelineCore",
"OS_RRS_Editor",

Override HandleData_Native in the new UOS_RRS_DataHandler to receive the render data once a render has finished. In this new function, the data can then be used as required.

virtual void HandleData_Native(FOS_RRS_ResultData ResultData) override;

The main classes and structs of relevance are:

Information on all of these classes can be found in the documentation for this plugin.

Make sure to set the Data Handler Class in Project Settings to the newly created C++ class so that it can execute when renders are finished.

Project Settings

The Osero Suite: Render Results Screen also includes its own project settings. In these settings, there are several options that can be changed.

When Use Osero Suite Movie Render Pipeline Classes is ticked on, the plugin automatically sets, and verifies that, the executor and job classes are set to the classes from this plugin so that they don't have to be changed manually.

Default Date Time Format is the way the dates and times are displayed throughout the plugin’s functionality.

Number of Renders to Keep is the number of past render data files to keep before deleting older data.

The Accessibility section allows for colours to be changed throughout the plugin, to cater for those who have different difficulties in distinguishing certain colours.

Resize PIE Window To Output Resolution is an option copied from the default PIE Executor Settings, as this class is private in the engine, and so it cannot be accessed by the Osero Suite. If ticked on, when executing a Play In Editor render, the PIE preview window will be resized to the render’s output resolution. As noted in the engine itself, this is not advised for large-scale renders.

Valid File Extensions are the file extensions to search for when looking for images for the Contact Sheet.

The Graphing section allows for colours and line thicknesses to be changed for the render graphs, to give the user freedom to customise the graphs to their needs.

If Show Render Results Window is ticked off, the Render Results Window will not open at the end of a render. It can still be accessed by the menu, however.

Data Handler Class is the custom Data Handler class to use to process render data at the end of a render.

Outro

In this example, I have used the to create a new empty Editor Module.

.

If rendering through the Movie Render Queue in Unreal Engine, the Osero Suite: Render Results Screen is a must have! As outlined in this video, it offers a number of useful features that makes crashes, render times, and rendering in general significantly easier. For more information, visit .

Osero Suite: Module Creator
UOS_RRS_DataHandler
FOS_RRS_ResultData
FOS_RRS_JobData
FOS_RRS_ShotData
UOS_RRS_RenderDataLibrary
docs.oserosuite.com