# [Enable Neural Super Sampling in Unreal Engine with ML Extensions](https://learn.arm.com/learning-paths/mobile-graphics-and-gaming/nss-unreal/)

## In this learning path

- [Introduction](https://learn.arm.com/learning-paths/mobile-graphics-and-gaming/nss-unreal/)
- [Introduction to neural graphics and Neural Super Sampling (NSS)](https://learn.arm.com/learning-paths/mobile-graphics-and-gaming/nss-unreal/1-install-plugin/)
- [Setting up the emulation layers](https://learn.arm.com/learning-paths/mobile-graphics-and-gaming/nss-unreal/2-emulation-layer/)
- [Create an example game](https://learn.arm.com/learning-paths/mobile-graphics-and-gaming/nss-unreal/3-create-example/)
- [Run the example](https://learn.arm.com/learning-paths/mobile-graphics-and-gaming/nss-unreal/3-run-example/)
- [Using RenderDoc for Debugging and Analysis](https://learn.arm.com/learning-paths/mobile-graphics-and-gaming/nss-unreal/5-renderdoc/)
- [Wrapping up](https://learn.arm.com/learning-paths/mobile-graphics-and-gaming/nss-unreal/6-wrapping-up/)
- [Next Steps](https://learn.arm.com/learning-paths/mobile-graphics-and-gaming/nss-unreal/_next-steps/)

## About this Learning Path

| Skill level:      | Introductory      |
|-------------------|-------------------|
| Reading time:     | 30 min            |
| Last updated:     | 18 Aug 2026       |

| Author:          | Annie Tallund, Arm [GitHub](https://github.com/annietllnd) [LinkedIn](https://linkedin.com/in/annietallund) |
|-------------------|------------------------------------------------------------------|
| Arm IP:          | [Mali](https://support.arm.com/?tab=compute-ip&Product%20Type=Graphics%20Processors) [Immortalis](https://support.arm.com/?tab=compute-ip&Product%20Type=Graphics%20Processors) |
| Tags:            | [ML](https://learn.arm.com/tag/ml) [Windows](https://learn.arm.com/tag/windows) [Unreal Engine](https://learn.arm.com/tag/unreal-engine) [Vulkan SDK](https://learn.arm.com/tag/vulkan-sdk) [Visual Studio](https://learn.arm.com/tag/visual-studio) [NX](https://learn.arm.com/tag/nx) |

### Who is this for?
This is an introductory topic for developers experimenting with neural graphics using Unreal Engine® and ML Extensions for Vulkan®.

### What will you learn?
Upon completion of this Learning Path, you will be able to:
- Understand how Arm enables neural graphics for game development
- Configure ML extensions for Vulkan emulation
- Enable Neural Super Sampling (NSS) in Unreal Engine
- Run and visualize real-time upscaling with NSS

### Prerequisites
Before starting, you will need the following:
- Windows 11
- Unreal Engine 4.27 or 5.4 or 5.6 (with the Templates and Feature Pack enabled)
- Visual Studio (with Desktop Development with C++ and .NET desktop build tools)

### Summary
You’ll enable Arm NSS in Unreal Engine with Vulkan ML extensions on Windows. First, you’ll install the Vulkan SDK and emulation layers, then add the Arm Neural Graphics Plugin and its VGF model to a C++ **Third Person** project. Then, you’ll verify NSS, visualize model output, and use RenderDoc to investigate frames and Vulkan calls.

### Frequently asked questions
<details>
<summary>How do I know NSS is active in my level?</summary>
Run `ShowFlag.VisualizeTemporalUpscaler 1` in Unreal and check the rendering summary. You should see NSS listed. To hide the overview, run `ShowFlag.VisualizeTemporalUpscaler 0`.
</details>

<details>
<summary>Which Unreal Engine project template should I use for the example?</summary>
Create a new **Third Person** template project using the **C++** option. Open it in Visual Studio and build from source before enabling and running NSS.
</details>

<details>
<summary>How do I set up the ML emulation layers for Vulkan?</summary>
Install Vulkan SDK version 1.4.321.0 or later and the ML Emulation Layer for Vulkan version 0.10.0 or later. Use Vulkan Configurator to set up the emulation layers used for ML extensions workloads.
</details>

<details>
<summary>How can I visualize the NSS model output while the game runs?</summary>
Run the command `r.NSS.Debug 1` in Unreal. The command adds real-time views showing the model output to help you inspect results.
</details>

<details>
<summary>When should I use RenderDoc?</summary>
Use RenderDoc when you see unexpected visual output or need to analyze a frame in detail. RenderDoc lets you step through a capture, inspect Vulkan API calls, and review shader inputs and outputs, with additional features available for Arm GPUs.
</details>
