Data Handler
Documentation for the Osero Suite: Render Results Screen update 1.1 (5.2+)
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 (see here). 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.

Make sure to set the Data Export Class in Project Settings to the newly created Blueprint class so that it can execute when renders are finished.
C++
To create a new Data Handler, add a new C++ class of type OS_RRS_DataHandler
.

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:
Make sure to set the Data Export Class in Project Settings to the newly created Blueprint class so that it can execute when renders are finished.
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.
Last updated