Skip to content

Unreal reference

The Conductor submitter for Unreal allows you to ship renders to Conductor from Movie Render Queue (MRQ) with Conductor Settings defined in a Data Asset.

This document is a reference for all features and concepts. If you want to get up and running fast, head over to the Unreal tutorial page.

Introduction

The submitter dialog generates a submission payload, which is sent to the cloud when you press Render (Remote). This payload is in the form of a JSON object. This JSON contains all information necessary to begin your render job.

General Settings

Job Title

The job title appears in the Conductor dashboard. The default job title is {job_name}-{level_sequence}.

Key Name Description
{project_path} The full .uproject document path (including Windows drive letter.)
{project_dir} The full .uproject document path directory (including Windows drive letter.)
{job_name} Name of the Job according to MRQ. Typically coincides with the Level Sequence name.
{level_sequence} Path to the Level Sequence as an Unreal asset.
{level_sequence_name} Name of the Level Sequence.
{sequence_name} Name of the MRQ Sequence. Typically coincides with the Level Sequence Name.
{map_path} Path to the Map the Sequence to be rendered.
{map_name} Name of the Map the Sequence to be rendered.
{level_name} Name of the Level the Sequence to be rendered. Alias for the Map Name, which is a level.
{resolution} XY resolution of render according to MRQ output settings.

Conductor project

This refers to a project on the Conductor dashboard. The dropdown menu is populated or updated when the submitter connects to your Conductor account. If the submitter plugin has been activated (Edit>Plugins>Conductor) for your Unreal file, it should connect to your account on file startup.

If projects are added or removed since connecting to Conductor, you can press the Connect button again to refresh the list. The Connect button is located on the Main Toolbar.


Instance Type

Specify the hardware configuration used to run your tasks. You are encouraged to run tests to find the most cost-efficient combination that meets your deadline. You can read about hardware choices and how they affect costs in this blog post.


Preemptible

Preemtible is off by default, but may be enabled at any time.

Preemptible instances are less expensive to run than non-preemptible. The drawback is that they may be stopped at any time by the cloud provider. The probability of a preemption rises with the duration of the task. Conductor does not support checkpointing, so if a preemption occurs, the task starts from scratch on another instance. It is possible to change the preemptible setting in the dashboard for your account.


Upload Settings

Use Upload Daemon

Use upload Daemon is off by default, which means that the task of uploading assets happens within Unreal itself.

A better solution may be to turn on Use Upload Daemon. An upload daemon is a separate background process. It means assets are not uploaded in the application. The submission, including the list of expected assets, is sent to Conductor, and the upload daemon continually asks the server if there are assets to upload. When your job hits the server, the upload daemon will get the list and upload them, which allows you to continue with your work.

You can start the upload daemon either before or after you submit the job. Once started, it will listen to your entire account, and you can submit as many jobs as you like.

Note

You must have Conductor Core installed in order to use the upload daemon and other command line tools. See the installation page for options.

To run an upload daemon, open a terminal or command prompt, and run the following command.

    conductor uploader

Once started, the upload daemon runs continuously and uploads files for all jobs submitted to your account.


Files & Folders

The submitter interrogates the Unreal project file to find paths to all the textures and other files on which the render depends. However, it doesn't always catch everything. For example, if you'd like to upload an additional script, you may do so by selecting the correct File as an additional asset.


Environment Settings

Variables

Define environment variables and their values for your job submission. Each additional variable will require the following information: variable name, variable value, and merge policy. This is especially useful if you're using custom shell scripts that require modifications to the PATH variable for detection. Should you need to include such scripts, ensure they are selected in the extra assets section.

Keep in mind, for submissions from Windows, it's important to exclude the drive letter from the script's path while configuring the environment variable. You have the option to designate environment variables as either exclusive (replacing existing values) or appendable (adding variable to the list).


Advanced Settings

Template

Task Template allows you to control the generation of the task command, which runs on the remote render nodes. The default Task Template should work fine for most cases.

UnrealEditor-Cmd.exe "{project_path}" -windowed -log -stdout -FullStdOutLogOutput -unattended -RenderOffscreen -noloadingscreen -allowstdoutlogverbosity -QueueManifest="{queue_manifest}" -LevelSequence="{level_sequence}" -Level="{map_path}" -execcmds="r.HLOD 0, py mrq_cli.py"

Advanced users may want to override the template to add command-line arguments or run a different command altogether. See Unreal's Command-Line Arguments Reference guide.

Please note that the following render command flags are required: -RenderOffscreen. These flags are recommended: -windowed, -unattended, -noloadingscreen.


Notify

Add one or more email addresses, separated by commas to receive an email when the job completes.


Location Tag

Attach a location to this submission for the purpose of matching to an uploader and/or downloader process.

If your organization is distributed in several locations, you can enter a value here, for example, London. Then when you run a downloader daemon you can add the location option to limit downloads to only those that were submitted in London.


Perforce

Use Perforce

Use Perforce is off by default. Please follow the Configure Perforce Settings guide for how to set up Perforce and ensure you have included the necessary environment variables on your render job submission: $P4PORT, $P4USER, $P4PASSWD. Please also ensure your environment variables are accurate, as a failed Perforce connection will result in a failed render.