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
  • Setting a Data Handler
  • Blueprints
  • C++
  • Example
  1. Supported Assets
  2. Render Results Screen
  3. How to Use (5.2+)

Data Handler

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

Last updated 2 months ago

A Render Results Screen Data Handler allows a user to create an automated task at the end of a render to process the render data in a way other than the Render Results Screen.

Setting a Data Handler

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.

Blueprints

To create a new Data Handler, right-click in the Content Browser or click +Add. 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.

C++

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

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.

PrivateDependencyModuleNames.AddRange(
	new string[]
	{
		...
		"Blutility",
		"MovieRenderPipelineCore",
         	"OS_RRS_Editor",
         }
);

Override HandleData_Native in the new UOS_RRS_DataHandler to receive the render data once a render has finished.

/* Header File */
UCLASS()
class PROJECT_EDITOR_API UNewDataHandler : public UOS_RRS_DataHandler
{
	GENERATED_BODY()
	
protected:
	virtual void HandleData_Native(FOS_RRS_ResultData ResultData) override;
};
/* Cpp File */
#include "NewDataHandler.h"

void UNewDataHandler::HandleData_Native(FOS_RRS_ResultData ResultData)
{

}

In this new function, the data can then be used as required. The main classes and structs of relevance are:

Example

There is an example Data Handler located here: Osero Suite: Render Results Screen Content > Example > HandleData_SaveToDataAsset. This is a simple little Blueprint that takes the input data and saves it to a new Data Asset.

Make sure to to the newly created Blueprint class so that it can execute when renders are finished.

Make sure to to the newly created Blueprint class so that it can execute when renders are finished.

set the Data Export Class in Project Settings
UOS_RRS_DataHandler
FOS_RRS_ResultData
FOS_RRS_JobData
FOS_RRS_ShotData
UOS_RRS_RenderDataLibrary
set the Data Export Class in Project Settings
see here