Unreal Engine X - Flow Volumes
Flow Volumes integrates NVIDIA Flow 2 through a native D3D12 backend for Win64.
The integration provides fire, smoke, dust, steam, fog, gas and vortex actors. Simulation can run on the primary GPU or an optional worker GPU; rendering remains on the primary GPU.
The implementation is under development. Flow source and its demo assets must be included in the published engine branch before they are available from a fresh checkout. Editor loading alone does not establish simulation correctness or performance.
Setup
From the engine root, initialize the SDK:
XDevops\XInitSubmodules.bat -Flow -NoPause
Build and stage the SDK binaries and transport shaders:
XDevops\XBuildFlow.bat -NoPause
Then:
- Enable the Flow Volumes plugin.
- Build the editor target and restart the editor.
- Open Project Settings > Plugins > X Flow.
- Enable Flow and choose Medium, High or Extreme quality.
- Place a Flow Fire actor, enable realtime viewport rendering and press Start Fire.
Submodule initialization does not build the SDK. The build wrapper stages nvflow.dll, nvflowext.dll, FlowExport.dxil and FlowWind.dxil.
Simulation and quality controls
| Control | Behavior |
|---|---|
x.Flow 1 / 0 | Enables/disables Flow simulation and rendering |
x.MultiAdapter.Flow 0 | Simulates on the primary GPU |
x.MultiAdapter.Flow 1 | Requests simulation on the configured worker GPU |
x.MultiAdapter.Enabled 1 | Enables the multi-adapter infrastructure required by worker mode |
x.Flow.Quality -1 | Uses the project quality setting |
x.Flow.Quality 0, 1, 2 | Overrides quality to Medium, High or Extreme |
x.Flow.ExportResolution -1 | Uses the quality preset's export resolution |
x.Flow.RayMarchSteps -1 | Uses the quality preset's ray-march limit |
Changing the simulation backend or resource settings restarts the affected simulation.
Worker execution requires a compatible configured adapter. x.MultiAdapter.Flow.FallbackSeconds controls the current worker-fallback behavior.
The older x.Flow.Mode commands are obsolete for this version.
Actor controls
Fire
- Start Fire: starts or reignites the fire.
- Extinguish Fire: stops fuel and ignition while existing smoke dissipates.
- Reset Fire: stops and clears the volume.
Smoke, dust, steam, fog, gas and vortex
- Start Volume: starts/resumes emission.
- Stop Emission: stops injection while preserving existing fluid.
- Reset Volume: stops and clears the volume.
- Emit At World Position: triggers a localized source.
Source Duration is measured in simulated seconds. Zero means continuous emission.
Demo map
The local demo map is:
Engine/Plugins/XThirdParty/Flow/Content/FlowDemo.umap
Its plugin asset path is:
/Flow/FlowDemo
Enable Show Plugin Content in the Content Browser to find it.
The map currently exists locally but is not tracked by the engine repository. The general Content/ ignore rule excludes it. It must be added to the fork before it is available from a fresh checkout.
Current scope
Each volume owns an independent fluid simulation. The shared component implementation does not make overlapping plumes interact.
Wind supplies ambient and local forcing inputs rather than sharing its complete evolving simulation field.
The different density effects are presets over the smoke-density solver. They do not implement separate dust-grain physics, condensation or chemical reactions.
Compare primary and worker execution at identical quality and scene settings before drawing performance conclusions.
Surface burn marks
Flow does not yet generate a persistent burned mask on affected objects.
Fire and smoke can surround an object, but the integration does not automatically darken its material, leave scorch marks, or preserve a burned appearance after the fire disappears. Surface burn-mask generation and its material integration remain future work.