Skip to main content

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.

Experimental integration

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:

  1. Enable the Flow Volumes plugin.
  2. Build the editor target and restart the editor.
  3. Open Project Settings > Plugins > X Flow.
  4. Enable Flow and choose Medium, High or Extreme quality.
  5. 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​

ControlBehavior
x.Flow 1 / 0Enables/disables Flow simulation and rendering
x.MultiAdapter.Flow 0Simulates on the primary GPU
x.MultiAdapter.Flow 1Requests simulation on the configured worker GPU
x.MultiAdapter.Enabled 1Enables the multi-adapter infrastructure required by worker mode
x.Flow.Quality -1Uses the project quality setting
x.Flow.Quality 0, 1, 2Overrides quality to Medium, High or Extreme
x.Flow.ExportResolution -1Uses the quality preset's export resolution
x.Flow.RayMarchSteps -1Uses 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.

Map availability

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.