Nodes · Off-shelf
EngineRender
Off-shelfv1core
Overview
The offline/finaling render against the live session: drives Unreal's Movie Render Queue (Path Tracer for the hero look) and streams high-quality frames back progressively. Rendered frames cache and scrub; unrendered frames show black. Render/Cancel live in the Scene Graph panel's RENDER QUEUE while LIVE is on.
Outputs
| Output | Type |
|---|---|
| out | Image |
Parameters
| Parameter | Type | Default | What it does |
|---|---|---|---|
| slot | Int | 910 | The per-frame render store this node reads. Leave it unless you run several render nodes side by side. |
| camera | Text | String::new( | Not documented yet. |
| first | Int | 1 | Not documented yet. |
| last | Int | 10 | Not documented yet. |
| step | Int | 1 | Not documented yet. |
| format_width | Int | 1920 | Width in pixels. |
| format_height | Int | 1080 | Height in pixels. |
| preset | Choice | Path Tracer | Raster = fast, looks-like-Unreal baseline. Lumen Cinematic = HQ Lumen + cinematic post. Path Tracer = the hero: true GI, correct area shadows/refraction/motion blur — high spp, denoised. |
| spp | Int | 1024 | Path Tracer samples per pixel. High (256–4096) and denoised is the point — this is finaling, not the live stream. |
| max_bounces | Int | 8 | Not documented yet. |
| denoiser | Choice | built-in | Not documented yet. |
| warmup | Int | 0 | Not documented yet. |
| passes | Text | "beauty,depth".into( | What comes back beside beauty. Unsupported requests are reported and greyed — never silently dropped, never faked. The list grows as the AOV exporter (C2) and cryptomatte (C3) land. |
| exr_layout | Choice | single-part multilayer | Not documented yet. |
| write_verify | Choice | off | Not documented yet. |
| write_path | Text | String::new( | Write each rendered frame as a multilayer EXR: #### becomes the frame number. Data/crypto passes land float32, color half, the crypto manifest and provenance ride the header \u{2014} the archival file another vendor can open cold. |
| catchers | Text | String::new( | Actor names (comma-separated) that CATCH the CG's shadows instead of rendering: they're held out of beauty and their shadow density comes back as catcher.shadow — job-scoped, the level is never changed. Feed the result to a CatcherComp. |
| holdouts | Text | String::new( | Actor names (comma-separated) that punch an ALPHA HOLE in beauty but still occlude the CG behind them and still cast onto it. This is the plate-matched proxy: a stand-in building that hides the CG passing behind it, without ever rendering itself. If you want it gone from the shot entirely, use hidden; if you want it invisible but still throwing a shadow, use casters only. |
| casters_only | Text | String::new( | Actor names (comma-separated) that are invisible to camera but still cast and reflect \u{2014} the classic primary-ray-invisible object. Unlike a holdout it does NOT occlude: the CG behind it renders normally. Use it for an off-screen bounce card or a shadow-casting rig you never want to see. |
| hidden | Text | String::new( | Actor names (comma-separated) excluded from every pass of this job \u{2014} no beauty, no shadow, no reflection, as if they were not in the level. Job-scoped: the level itself is never changed, so other render nodes still see them. |
| ao_distance | Float | 1 | Traced AO max distance in meters: occlusion beyond this vanishes. The traced mode is view-independent — stable over a camera move, unlike screen-space AO. |
See also
- Unreal — How to get Unreal's pixels into the comp, live or rendered.