Latest news
TutorialsUnreal Engine

Unreal Engine Virtual Shadow Maps: A Guide to Shadow Settings

In Unreal Engine, Virtual Shadow Maps (VSM) are designed to deliver high-resolution shadows, particularly in scenes that use Nanite. This guide explains how to enable VSM, adjust lighting settings, and evaluate common quality and performance issues.

A contemporary concrete pavilion with pronounced light and shadows at duskAI image
Representative image, generated with AI.Image: 3dsınıfı / FCA AI

In brief

  1. VSM is a high-resolution shadowing method designed for use with Nanite, Lumen, and World Partition in Unreal Engine 5.
  2. VSM is enabled by default in new projects; projects created before Unreal Engine 5.0 must enable it separately.
  3. VSM divides shadow maps into 128 × 128-pixel pages, rendering the pages needed on screen and caching them across frames.
  4. Shadow softness can be controlled with Source Radius for local lights and Source Angle for Directional Lights.

What you’ll learn in this guide

Virtual Shadow Maps (VSM) are a shadow-mapping method used in Unreal Engine to produce high-resolution, detailed shadows. According to Epic’s documentation, the system aims to provide shadows suited to the detail level of Nanite geometry while simplifying setup. This guide walks through the scenes where VSM makes sense, where to enable it in a project, and how light sources affect the character of shadows.

VSM isn’t a standalone quality setting that simply makes shadows “better.” The result should be assessed in context, taking into account light mobility, scene geometry, shadow distance, source size, and project settings. As you work through the steps, evaluate both image quality and performance.

Requirements and appropriate use cases

The official guide discusses VSM alongside Unreal Engine 5 features including Nanite Virtualized Geometry, Lumen Global Illumination and Reflections, and World Partition. VSM is designed for use with Nanite; Epic notes that it may not be suitable if the target platform or project doesn’t use Nanite. The first question to ask, then, is whether the scene uses Nanite.

Projects created before Unreal Engine 5.0 must enable VSM separately in the project settings or with the r.Shadow.Virtual.Enable console variable. VSM is the default method in new projects. The sources don’t specify a particular graphics card, hardware tier, account type, or purchase requirement, so none should be assumed.

When choosing a shadow method, consider the type and mobility of your lights as well. In Unreal Engine, whether lights are Static, Stationary, or Movable affects how precomputed and real-time shadows are used. When VSM is enabled, direct lighting and shadows from Stationary lights are computed dynamically; fully baked shadows from Static lights continue to come from lightmaps when Lumen isn’t being used.

Enabling VSM and setting it up

  1. Check the project’s shadow method. In Project Settings, go to Engine > Rendering and find Shadow Map Method in the Shadows section. Confirm whether the project uses Virtual Shadow Maps or the traditional Shadow Maps method used in earlier versions.

  2. Enable VSM in an older project. For projects created before Unreal Engine 5.0, select VSM in the same project settings or use the r.Shadow.Virtual.Enable console variable specified in the documentation. VSM is already the default in new projects, but checking the current project setting will confirm which method you’re testing.

  3. Review Nanite usage and scene content. VSM is designed to work with Nanite and high-detail geometry. If you’re using Nanite, note that some methods used with Stationary lights and traditional shadow maps aren’t supported. According to Epic, projects containing Nanite should use Movable Lights or VSM.

  4. Adjust light source size. Source Radius affects shadows from Point and Spot lights, while Source Angle affects shadows from Directional Lights. A larger source radius or angle produces softer shadows; evaluate the image and performance as you increase these values. Local lights have no default Source Radius value, while Directional Lights start with a small Source Angle.

  5. Compare shadow behavior in the scene. From the same camera, inspect near and distant objects, thin geometry, and contact points. VSM creates shadow pages based on a depth analysis of pixels visible on screen and caches the required pages across frames. When camera movement reveals new areas, pages that haven’t been used before may need to be created.

  6. Understand SMRT when assessing soft-shadow quality. Shadow Map Ray Tracing uses sampling with VSM to produce more realistic soft shadows and contact hardening. Quality depends on Source Radius for local lights and Source Angle for Directional Lights. Epic’s documentation states that, at the Epic shadow scalability level, the default number of rays is eight for both local and Directional Lights. Console variables can reduce the number of rays or samples; fewer samples can lower the performance cost, but may limit shadow softness or make noise visible in the penumbra.

Impact on architecture, interiors, and archviz workflows

In architectural visualization, VSM can be used to assess shadow consistency in scenes with detailed facade elements, dense geometry, and real-time lighting. For interior scenes, test the light source size, the appearance of contact shadows, and the area covered by the light together. This method doesn’t replace modeling or material preparation; it works in combination with the scene’s lighting and geometry.

For studios and student projects, it’s useful to start with a small, representative scene: compare an example using Nanite and VSM with the traditional Shadow Maps option under suitable project conditions. Since the sources don’t provide specific hardware recommendations, performance needs to be measured for each machine and scene. Check the cost and visual impact of lights with large radii or excessively soft penumbras as well. If the project will be opened on other computers, make sure the shadow method is consistent in the project settings.

Common mistakes

  • Assuming VSM is automatically the best option for every project, including those that don’t use Nanite. Epic notes that VSM may not be suitable for targets that don’t use Nanite.

  • Evaluating a light’s shadows using only Source Radius or Source Angle. The light type, its coverage, and the scene geometry all affect the result.

  • Reducing the number of SMRT rays or samples without checking quality. Fewer rays can create noise in the penumbra, while fewer shadow map samples limit the available softness.

  • Using very large Source Radius or Source Angle values without limits. Epic warns that excessive values can affect performance and cause visual artifacts when the camera approaches a shadow penumbra.

  • Assuming Stationary lights will retain their old shadow behavior when VSM is enabled. In this case, direct lighting and shadows are evaluated dynamically.

Next steps

First, confirm the project settings and Nanite usage. Then compare shadow characteristics by changing the source size with the same camera and lighting setup. When adjusting settings to improve shadow quality, record both the visual difference and performance. For more detailed control, consult the sections of Epic’s VSM guide on SMRT ray and sample-count variables. Also bear in mind that scenes lit by Directional Lights covering large areas use a different clipmap structure from the per-light map arrangement used by local lights.

Sources and license

This guide has been adapted into Turkish from Epic Games’ “Virtual Shadow Maps in Unreal Engine” and “Shadowing in Unreal Engine” documentation pages. Both sources are listed as freely licensed in the source list.

Sources

2 sources
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/virtual-shadow-maps-in-unreal-engine
Summary
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/shadowing-in-unreal-engine
Summary

Source texts are not republished; short quotes are marked, everything else is our own summary and commentary.

3dsınıfı’s take
3dEditor’s assessment

For architecture firms and visualization teams in Turkey, VSM’s practical value lies in simplifying shadow setup in real-time scenes that use Nanite and aiming for results suited to high-detail geometry. However, this shouldn’t be taken as a guaranteed performance boost in every project; the scene structure, lighting settings, and hardware determine the result.

Students and small teams should first test with an example scene on their existing machines, changing Source Radius and Source Angle values carefully, especially when working with soft shadows. The sources don’t specify license fees or hardware requirements, so it’s important to check that the selected shadow method and Nanite setup are compatible with other workstations before delivering a project.

Frequently asked questions

How do you enable Virtual Shadow Maps in Unreal Engine?

In Project Settings, go to Engine > Rendering and check Shadow Map Method in the Shadows section. Projects created before Unreal Engine 5.0 must enable VSM separately; it’s enabled by default in new projects.

Can Virtual Shadow Maps be used without Nanite?

VSM is designed for use with Nanite. Epic notes that it may not be suitable for target platforms or projects that don’t use Nanite.

Which setting controls soft VSM shadows in Unreal Engine?

Source Radius affects shadow softness for local lights, while Source Angle affects it for Directional Lights. Shadow Map Ray Tracing sample settings can also affect quality and performance cost.

Comments and the forum are in Turkish.Join the discussion
+

Related news