editor.render
Ten methods covering Movie Render Queue: job add/remove/enable, output configuration inspection, render start/cancel via the PIE executor, and non-blocking status polling. AI agents reach through this namespace to queue and run cinematic exports without opening the MRQ window.
Requires: the MovieRenderPipelineCore and MovieRenderPipelineEditor modules. Stock UE ships both enabled. If MRQ is not available, all methods return -32001 NotFound.
Method summary
| Method | Mutating | Tier | Purpose |
|---|---|---|---|
getQueue | no | Free | All jobs in the Movie Render Queue. |
addJob | yes | Free | Add a new render job. |
removeJob | yes | Free | Remove a job by index. |
clearQueue | yes | Free | Remove every job from the queue. |
setJobEnabled | yes | Free | Enable or disable a job. |
getJobConfig | no | Free | Render settings + CVar overrides for a job. |
getOutputSettings | no | Free | Output format and settings for a job. |
startRender | yes | Free | Start rendering via the PIE executor (returns immediately). |
cancelRender | yes | Free | Cancel the active render. |
getStatus | no | Free | Overall + per-job render progress. |
editor.render.getQueue
Return every job currently in the Movie Render Queue with its current state.
No parameters.
Returns:
| Field | Type | Description |
|---|---|---|
jobs | array | Each: {index, jobName, sequence, map, enabled, consumed, author, comment, progress, statusMessage}. |
count | number | Number of jobs. |
isRendering | bool | Whether a render is currently active. |
Example Request:
{ "jsonrpc": "2.0", "id": 1, "method": "editor.render.getQueue" } Example Response:
{
"jsonrpc": "2.0", "id": 1,
"result": {
"jobs": [
{ "index": 0, "jobName": "Final Render", "sequence": "/Game/Cinematics/MasterSequence.MasterSequence", "map": "/Game/Maps/L_Main.L_Main", "enabled": true, "consumed": false, "author": "tom", "comment": "", "progress": 0.0, "statusMessage": "Ready" }
],
"count": 1,
"isRendering": false
}
} editor.render.addJob
Add a new render job to the queue.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
sequence | string | Yes | Soft object path to a LevelSequence asset. |
map | string | No | Level/map path to render in. Defaults to the current level. |
jobName | string | No | Display name for the job. |
author | string | No | Author name shown on burn-in. |
Returns: { index, jobName, sequence, success }.
Example Request:
{
"jsonrpc": "2.0", "id": 2,
"method": "editor.render.addJob",
"params": { "sequence": "/Game/Cinematics/MasterSequence", "jobName": "Final Render" }
} Example Response:
{
"jsonrpc": "2.0", "id": 2,
"result": { "index": 0, "jobName": "Final Render", "sequence": "/Game/Cinematics/MasterSequence.MasterSequence", "success": true }
} editor.render.removeJob
Remove a job from the queue by index.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
index | number | Yes | Zero-based index of the job to remove. |
Returns: { success, remainingJobs }.
Example Request:
{ "jsonrpc": "2.0", "id": 3, "method": "editor.render.removeJob", "params": { "index": 0 } } Example Response:
{ "jsonrpc": "2.0", "id": 3, "result": { "success": true, "remainingJobs": 0 } } editor.render.clearQueue
Remove every job from the queue. Non-reversible.
No parameters.
Returns: { success: true }.
Example Request:
{ "jsonrpc": "2.0", "id": 4, "method": "editor.render.clearQueue" } Example Response:
{ "jsonrpc": "2.0", "id": 4, "result": { "success": true } } editor.render.setJobEnabled
Enable or disable a job. Disabled jobs are skipped during rendering.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
index | number | Yes | Zero-based job index. |
enabled | bool | Yes | Whether the job should be enabled. |
Returns: { success, index, enabled }.
Example Request:
{ "jsonrpc": "2.0", "id": 5, "method": "editor.render.setJobEnabled", "params": { "index": 0, "enabled": false } } Example Response:
{ "jsonrpc": "2.0", "id": 5, "result": { "success": true, "index": 0, "enabled": false } } editor.render.getJobConfig
Get render configuration details for a specific job, including settings and console variable overrides.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
index | number | Yes | Zero-based job index. |
Returns:
| Field | Type | Description |
|---|---|---|
index | number | Job index echo. |
jobName | string | Job name. |
sequence | string | Level Sequence path. |
map | string | Map path. |
isUsingGraphConfig | bool | Whether the job uses MRQ Graph config rather than legacy. |
settings | array | Each: {class, enabled}. |
consoleVariableOverrides | array | Each: {name, value, enabled}. |
Example Request:
{ "jsonrpc": "2.0", "id": 6, "method": "editor.render.getJobConfig", "params": { "index": 0 } } Example Response:
{
"jsonrpc": "2.0", "id": 6,
"result": {
"index": 0, "jobName": "Final Render",
"sequence": "/Game/Cinematics/MasterSequence.MasterSequence",
"map": "/Game/Maps/L_Main.L_Main",
"isUsingGraphConfig": true,
"settings": [
{ "class": "MoviePipelineDeferredPassBase", "enabled": true },
{ "class": "MoviePipelineImageSequenceOutput_EXR", "enabled": true }
],
"consoleVariableOverrides": [
{ "name": "r.MotionBlurQuality", "value": "4", "enabled": true }
]
}
} editor.render.getOutputSettings
Return output format and settings information for a job.
Parameters:
| Name | Type | Required | Description |
|---|---|---|---|
index | number | No | Job index. Defaults to 0. |
Returns:
| Field | Type | Description |
|---|---|---|
index | number | Job index. |
jobName | string | Job name. |
outputFormats | array | Each: {class, enabled}. |
totalSettings | number | Total number of settings in the config. |
Example Request:
{ "jsonrpc": "2.0", "id": 7, "method": "editor.render.getOutputSettings", "params": { "index": 0 } } Example Response:
{
"jsonrpc": "2.0", "id": 7,
"result": {
"index": 0, "jobName": "Final Render",
"outputFormats": [ { "class": "MoviePipelineImageSequenceOutput_EXR", "enabled": true } ],
"totalSettings": 6
}
} editor.render.startRender
Start rendering the queue using the PIE executor. Returns immediately; poll getStatus for progress.
No parameters.
Returns: { started, enabledJobCount, totalJobCount }.
Errors:
| Code | Message | Condition |
|---|---|---|
-32600 | Already rendering | A render is in progress. |
-32602 | No enabled jobs | Queue has no enabled jobs. |
Example Request:
{ "jsonrpc": "2.0", "id": 8, "method": "editor.render.startRender" } Example Response:
{ "jsonrpc": "2.0", "id": 8, "result": { "started": true, "enabledJobCount": 1, "totalJobCount": 1 } } editor.render.cancelRender
Cancel the currently active render.
No parameters.
Returns: { cancelled: bool }.
Errors:
| Code | Message | Condition |
|---|---|---|
-32600 | Not rendering | No render is in progress. |
Example Request:
{ "jsonrpc": "2.0", "id": 9, "method": "editor.render.cancelRender" } Example Response:
{ "jsonrpc": "2.0", "id": 9, "result": { "cancelled": true } } editor.render.getStatus
Get current render status with overall and per-job progress.
No parameters.
Returns:
| Field | Type | Description |
|---|---|---|
isRendering | bool | Whether a render is in progress. |
progress | number | Overall progress in [0.0, 1.0]. |
statusMessage | string | Current status message from the executor. |
jobs | array | Each: {index, jobName, progress, statusMessage, consumed, enabled}. |
Example Request:
{ "jsonrpc": "2.0", "id": 10, "method": "editor.render.getStatus" } Example Response:
{
"jsonrpc": "2.0", "id": 10,
"result": {
"isRendering": true,
"progress": 0.42,
"statusMessage": "Rendering frame 126/300",
"jobs": [
{ "index": 0, "jobName": "Final Render", "progress": 0.42, "statusMessage": "Rendering frame 126/300", "consumed": false, "enabled": true }
]
}
} Related
- API Reference index
- editor.sequencer -- Level Sequence authoring and sub-sequences
- editor.pie -- Play-in-Editor control (MRQ renders through the PIE executor)