Enable Neural Super Sampling in Unreal Engine with ML Extensions
Introduction
Introduction to neural graphics and Neural Super Sampling (NSS)
Setting up the emulation layers
Create an example game
Run the example
Using RenderDoc for Debugging and Analysis
Wrapping up
Next Steps
Enable Neural Super Sampling in Unreal Engine with ML Extensions
Install dependencies
To run NSS in your Unreal Engine project, you will need to install and configure the following:
- Vulkan SDK: Required for development of applications that use Vulkan, and to enable the Vulkan Configurator. The latter sets up the emulation layers used for running ML extensions for Vulkan workloads.
- ML Emulation Layer for Vulkan: These layers allows neural inference to run in emulation through Vulkan’s compute backend. They are activated by Vulkan Configurator to run with the Unreal Engine plugin. The Vulkan layer configuration activates the ML Emulation Layer for Vulkan, which implements the ML extensions for Vulkan.
- NSS for Unreal Engine plugin: You will download and integrate the plugin in the next section.
These components allow you to run NSS in Unreal Engine, using ML emulation layers for Vulkan for development and testing.
Install Vulkan Software Development Kit
Go to the Vulkan SDK landing page and download the SDK Installer for Windows. After you have run the installer, you can move on to the next step.
Download the emulation layers
For this Learning Path, a pre-built of package of the emulation layers is available. Download them by clicking the link.
ML Emulation Layer for Vulkan → Arm Developer Downloads
Extract the downloaded file in a location of your choice.
Configure Vulkan Layers
Vulkan Configurator is a program that will run the emulation layers in the background when you want to utilize them with Unreal Engine.
To emulate the ML extensions for Vulkan:
- Launch the Vulkan Configurator (bundled with the Vulkan SDK) from the Windows Start menu.
- In the Apply a Vulkan Loader Configuration list, right-click and choose Create a new Configuration. You can give the new configuration any name, for example
NSS. - Navigate to the Vulkan Layers Location tab.
- Append a user-defined path pointing to the emulation layers you downloaded in the previous step:
<download-path>/MLEmulationLayerForVulkan20251107
Figure 1: Add Vulkan layer path.
- Switch back to the Vulkan Loader Management tab. Ensure the Graph layer is listed above the Tensor layer, and that you’ve set up the configuration scope as shown in the image.
Figure 2: Verify layer ordering and scope.
Make sure you keep Vulkan Configurator running in the background as you go through the next steps.
With the ML emulation layers configured, Vulkan is now able to run machine learning workloads through the ML extensions for Vulkan. This enables neural inference to execute alongside the graphics pipeline during development, without requiring access to hardware with dedicated neural accelerators.
The next step is to integrate Neural Super Sampling into an Unreal Engine project. You’ll do this by installing the NSS plugin and creating a simple example game that lets you verify the setup and visualize the upscaling in action.