Top-Down Fog of War in Unreal Engine: Complete Guide
How to build top-down fog of war in Unreal Engine as a screen-space post-process: an unbound volume, a Fog Manager, the M_Main_Fog_Volume material, player and beacon vision, Niagara, and cliff shadows. A reproducible build in seven steps.
Top-down fog of war, the lit circle that follows your hero through a darkened level while cliffs and walls block what they can see, looks like it needs expensive GPU visibility work. It does not. The whole effect is a screen-space post-process material driven by a handful of parameters, plus a small Niagara system for beacons. No compute shaders, no per-unit ray casts for the visuals.

How the system fits together
One actor and one material do the work. An unbound post-process volume darkens the
whole level through the M_Main_Fog_Volume material. A Fog Manager actor feeds
that material live data every frame and the material assembles a single black-and-white
mask, white where the player can currently see, and lerps the scene between dark and lit:
EmissiveColor = lerp(SceneColor * Darkness, SceneColor, mask);
Everything else in this guide is about producing that one mask: where the player is,
where the beacons are, and what cliffs block. Each step below builds one piece of it.
What you need
This is intermediate Unreal Engine: you should be comfortable reading a material graph, writing a little C++, and working with render targets. It targets UE5 and has no third-party dependencies. If you would rather skip the build and drop it in, the Multiplayer Fog of War plugin packages the whole system, replicated and performance-minded, for top-down games.
The build, step by step
Work through the seven steps in order for the complete system, or jump straight to whichever piece you need.
Frequently asked questions
- Does Unreal fog of war need GPU compute or ray casting?
- No. The visual reveal is a single screen-space post-process material driven by a few parameters, plus a lightweight Niagara Grid2D system for beacons. There are no compute shaders and no per-actor ray casts for the visuals.
- Is this fog of war multiplayer-ready?
- The visual reveal runs locally on each client, so it costs nothing to replicate. Hiding enemies you cannot see is a separate, server-authoritative line-of-sight system, not part of the material.
- Does it work in single player?
- Yes. The same local post-process runs identically in single player and multiplayer; only the optional enemy-hiding layer cares about the network.
- Do I need C++?
- A little, for the Fog Manager that pushes world data into the material. The material, the occluder setup, and the beacon Niagara system are all done in the editor.