Upscalers and Frame Generation
Check out the UpscalerTest Sample project
Unreal Engine 5 treats upscaling as mandatory: the renderer is designed around rendering at a fraction of output resolution and reconstructing the rest. Vite takes the opposite position. The targets are native, and upscalers are available for users who want to spend the headroom on something else.
That distinction changes how you should use the plugins on this page. If your project only hits its frame target with DLSS Performance enabled, the project is over budget — fix that first, then offer upscaling as an option on top.
Bundled plugins
All of these ship in the engine repository under Engine/Plugins/Runtime. None are enabled by default; enable the ones your project offers from Edit > Plugins.
Plugin | Version | What it provides | Location |
|---|---|---|---|
NVIDIA DLSS | 8.7.0-NGX310.7.0 (DLSS 4.5) | Super Resolution, Ray Reconstruction, DLAA |
|
NVIDIA DLSS Frame Generation | 1.3.0-SL2.4.0 (Streamline) | Frame Generation and Reflex |
|
NVIDIA DeepDVC | Streamline | Deep-learning dynamic vibrance |
|
NVIDIA NIS | — | Image Scaling, spatial upscaling and sharpening |
|
DLSS Movie Pipeline Support | — | DLSS integration for Movie Render Queue |
|
AMD FSR 4 | 4.1.1 | FidelityFX Super Resolution 4 and Frame Generation, DX12 |
|
Intel XeSS | 3.0.5 | Xe Super Sampling |
|
FSR 4 and XeSS 3 are notable: both are backports that do not exist in stock 4.27. FSR 4 uses the native ffx-api and requires DirectX 12.
Choosing what to ship
You do not need all of them. Each enabled upscaler adds shaders, binaries, package size and a settings menu entry that has to be tested.
Situation | Recommendation |
|---|---|
PC release, broad hardware support | DLSS + FSR 4. Covers NVIDIA and AMD; XeSS if Intel Arc matters to you. |
NVIDIA-focused, ray tracing heavy | DLSS with Ray Reconstruction |
Anti-aliasing quality at native resolution | DLAA (part of the DLSS plugin), or Vite's SMAA |
No upscaling, native only | Ship nothing from this page. This is a valid and supported configuration. |
DLAA is worth calling out separately. It is DLSS's neural network applied at native resolution rather than as an upscaler, so it competes with SMAA rather than complementing it. It generally resolves finer detail than SMAA but reintroduces temporal accumulation, and therefore some of the artefacts SMAA avoids. Offer both and let the player choose.
Ray Reconstruction
Ray Reconstruction replaces the hand-tuned denoisers for ray-traced effects with a neural denoiser. In a Vite project this interacts directly with the ray tracing configuration:
It can substantially improve RT reflection and RTXDI quality under motion, where hand-tuned denoisers struggle.
It has no benefit for DDGI, which is noise-free by construction and has nothing to denoise.
If your ray tracing configuration is DDGI-led, Ray Reconstruction buys you less than it would in a Lumen-based project. Measure before shipping it.
Frame generation
DLSS Frame Generation (via Streamline) and FSR 4 Frame Generation both synthesise intermediate frames.
Frame generation increases displayed frame rate without reducing input latency — it can make latency slightly worse, which is why Reflex ships alongside it in the Streamline plugin. Enable Reflex whenever you enable frame generation.
The DLSS translucency patch
Vite includes an optional compile-time patch that addresses a specific quality problem with upscaling: separate translucency and volumetric fog rendering at the internal render resolution and then being upscaled, which softens particles, glass and fog against an otherwise sharp reconstructed image.
Switch | Default | Effect |
|---|---|---|
|
| Adds upscaled-resolution translucency passes and native-resolution volumetric fog |
When enabled, the renderer gains two additional translucency passes, TranslucencyAfterDOFUpscaledRT and TranslucencyAfterDOFModulateUpscaledRT, which render selected translucent primitives at output resolution after upscaling. Primitives opt in through the bRenderInTranslucencyUpscaledRTPass relevance flag, and the passes are only used when a temporal upscaler is actually active.
It also adds:
CVar | Default | Effect |
|---|---|---|
|
| Computes the volumetric fog grid from the output resolution rather than the internal render resolution |
The switch is defined in Engine/Source/Runtime/Core/Public/Misc/CoreDefines.h and defaults to off, since it costs frame time and only matters for projects that ship with upscaling enabled. See Compile-Time Switches for how to change it.
Enabling an upscaler
Add DLSS to a project
Open Edit > Plugins, find NVIDIA DLSS Super Resolution/Ray Reconstruction/DLAA, enable it and restart the editor.
For frame generation, also enable NVIDIA DLSS Frame Generation.
Query support at runtime through the DLSS Blueprint library before exposing the option in your settings menu. Hardware and driver support vary, and an option that silently does nothing is worse than no option.
Expose quality mode as a player setting rather than forcing one. Include an off state.
Test the interaction with your anti-aliasing setting. DLSS replaces the anti-aliasing pass; leaving SMAA enabled alongside it wastes frame time.