23/01/2018
Unreal Engine 4 boasts an incredibly powerful and versatile lighting system, capable of producing breathtakingly realistic visuals. However, for many developers, mastering this system can feel like navigating a maze. From unexpected dark spots to splotchy shadows and long build times, lighting issues are a common hurdle. This guide aims to demystify the process, helping you diagnose why your Unreal Engine 4 lighting might not be working as expected and providing clear steps on how to set and optimise your lighting quality for truly impressive results.

- Why Is My Unreal Engine 4 Lighting Not Working? Common Issues & Solutions
- How to Set Lighting Quality in Unreal Engine 4
- Frequently Asked Questions About UE4 Lighting
- Q: Why does my lighting look different after building?
- Q: What is a Lightmass Importance Volume and why do I need it?
- Q: My shadows are blocky and jagged, how do I fix them?
- Q: How can I speed up light builds?
- Q: Why are my emissive materials not lighting up the scene?
- Q: What's the difference between Static, Stationary, and Movable lights?
- Conclusion
Why Is My Unreal Engine 4 Lighting Not Working? Common Issues & Solutions
It’s a frustrating scenario: you’ve placed your lights, adjusted their properties, yet your scene remains dim, patchy, or simply looks 'off'. More often than not, the culprit lies in a few common areas. Understanding these will put you on the fast track to resolving your lighting woes.
Unbuilt Lighting: The Most Frequent Culprit
The first and most common reason for lighting anomalies, especially after adding or moving static objects or lights, is unbuilt lighting. Unreal Engine 4 relies heavily on 'baked' or 'precomputed' lighting for static elements, which requires a calculation process called a 'light build'. If you see a message like "Lighting needs to be rebuilt" in the viewport or a warning icon, this is your primary indicator.
- Solution: Navigate to the 'Build' menu in the Unreal Editor toolbar and select 'Build Lighting Only'. For a full scene recalculation, you might choose 'Build All'. Be aware that complex scenes can take a considerable amount of time to build, so it's often best to perform incremental builds during development.
Incorrect Lightmap UVs
Lightmaps are textures that store precomputed lighting information. For static meshes to receive baked lighting correctly, they must have proper Lightmap UVs. These are a second set of UV coordinates (usually UV channel 1) that are unwrapped specifically for lighting, ensuring no overlapping faces. Overlapping UVs lead to 'light bleeding' or black splotches and artifacts.
- Diagnosis: In the Static Mesh Editor, go to 'UV' and select 'UV Channel 1'. Look for red areas, indicating overlaps. You can also use the 'UV Overlap' visualiser in the main editor (Show > Visualize > UV Overlap).
- Solution: Regenerate or manually unwrap UV Channel 1 in your 3D modelling software (e.g., Blender, Maya) ensuring there are no overlaps. Alternatively, in the Static Mesh Editor, under the 'Build Settings' section, you can enable 'Generate Lightmap UVs' and adjust 'Min Lightmap Resolution' for a quick fix, though manual unwrapping offers more control.
Light Mobility Settings
Unreal Engine 4 offers three types of light mobility, each with distinct performance and visual characteristics:
- Static: Lights that are entirely baked into lightmaps. They offer the best performance and highest quality indirect lighting but cannot be changed at runtime.
- Stationary: A hybrid light. Its direct lighting is dynamic, but its indirect lighting is baked. It can change colour and intensity at runtime but not position. Only four stationary lights can overlap on a single pixel before performance costs increase.
- Movable: Fully dynamic lights that are calculated in real-time. They offer complete flexibility but are the most performance-intensive.
If your light isn't affecting static objects, or if you expect dynamic shadows from a static light, you've likely chosen the wrong mobility. Ensure your lights are set to the appropriate mobility for their intended purpose.
Lightmap Resolution Issues
The resolution of lightmaps directly impacts the detail and quality of baked lighting. If your lightmap resolution is too low, you'll see blocky shadows, jagged light transitions, and a lack of subtle detail. Conversely, excessively high resolutions consume significant memory and dramatically increase build times.
- Solution: Adjust the 'Lightmap Resolution' property for individual static meshes in their details panel, or for large groups of meshes via the World Outliner. Start with a moderate resolution (e.g., 64, 128) and increase as needed for critical assets.
Incorrect Lightmass Settings
Lightmass is Unreal Engine 4's global illumination solver for baked lighting. Its settings, found in 'World Settings' under the 'Lightmass' section, profoundly influence the quality of your indirect lighting. If these are too low, you might see splotchy light, poor colour bleeding, or insufficient bounced light.
- Key Settings:
- Indirect Lighting Quality: Controls the quality of indirect light samples. Higher values mean better quality but longer build times.
- Indirect Lighting Smoothness: Helps to smooth out noisy or splotchy indirect lighting.
- Num Indirect Lighting Bounces: Determines how many times light bounces around the scene. More bounces lead to more realistic global illumination.
Post-Processing Volume Effects
While not strictly a 'lighting not working' issue, the Post-Processing Volume can significantly alter the *perceived* lighting in your scene. Settings like Exposure, Bloom, Ambient Occlusion, and Global Illumination (Screen Space Global Illumination for UE4) can make a well-lit scene appear too dark, too bright, or washed out. Always check your post-process settings if your lighting looks off, even after rebuilding.
Scalability Settings
Unreal Engine 4 offers 'Engine Scalability Settings' (found under 'Settings' in the main toolbar, then 'Engine Scalability Settings'). These global settings can significantly reduce the quality of real-time lighting, shadows, and post-processing to improve performance. If your lighting looks great in the editor but terrible in a packaged game or on a different machine, check these settings. They might be set to 'Low' or 'Medium'.
Other Potential Issues:
- Material Properties: Ensure materials are not set to 'Unlit' if they are meant to receive lighting. Emissive materials do not cast light onto other surfaces by default unless properly configured with a static light or using specific global illumination solutions.
- Light Leaking: Often caused by poor geometry (thin walls, gaps) or extremely low lightmap resolutions where light 'leaks' through surfaces.
- Shadow Artifacts: Can be due to low shadow resolution settings on individual lights or global scalability settings. Cascaded Shadow Maps (for directional lights) also have specific settings.
How to Set Lighting Quality in Unreal Engine 4
Achieving stunning visual fidelity with lighting in Unreal Engine 4 is a balance between visual quality and performance. Here’s how to fine-tune your settings to get the best of both worlds.
Optimising Lightmap Resolution
Lightmap resolution is arguably the most impactful setting for baked lighting quality. It dictates the pixel density of the lightmap texture for a given mesh.

General Guidelines:
- Small, detailed objects (e.g., props): 32x32, 64x64
- Medium objects (e.g., furniture, small wall sections): 128x128, 256x256
- Large surfaces (e.g., floors, large walls): 512x512, 1024x1024, or even higher for very critical, large surfaces.
Remember that the total lightmap memory budget for your scene is finite. Use higher resolutions sparingly and strategically on surfaces where lighting detail is paramount.
Advanced Lightmass Settings for Global Illumination
For baked global illumination, the Lightmass settings in 'World Settings' are your primary tools. These settings directly influence the quality and realism of light bouncing around your scene.
- Indirect Lighting Quality: Increase this value (e.g., from 1.0 to 2.0 or 4.0) for smoother, more accurate indirect lighting. Be prepared for significantly longer build times.
- Indirect Lighting Smoothness: A value of 0.6 to 0.7 is often a good starting point to smooth out splotchiness without blurring too much detail.
- Num Indirect Lighting Bounces: Increasing bounces (e.g., from 3 to 5 or 10) adds more realism as light travels further, but again, this increases build time.
- Environment Color/Diffuse Boost: These can be used to subtly tweak the overall indirect lighting intensity and colour.
- Lightmass Importance Volume: Critically important! Place this volume to encompass the areas of your scene where high-quality baked lighting is required. Lightmass will focus its calculations within this volume, dramatically reducing build times and improving quality within that area. Outside the volume, lower-quality lighting is calculated.
Mastering Post-Processing for Visual Polish
A well-configured Post-Processing Volume is essential for the final look of your scene. It controls how the rendered image is ultimately displayed.
- Exposure: Crucial for overall brightness. You can use 'Auto Exposure' or manually set 'Min/Max Brightness' to achieve a consistent look.
- Global Illumination (GI): While UE4's baked GI is handled by Lightmass, you can enable Screen Space Global Illumination (SSGI) in the Post-Process Volume for real-time, albeit approximate, GI.
- Ambient Occlusion (AO): Screen Space Ambient Occlusion (SSAO) adds subtle contact shadows, enhancing depth.
- Bloom: Simulates light scattering, creating a glow around bright areas. Use sparingly to avoid over-blooming the scene.
- Colour Grading: Adjust saturation, contrast, and colour balance to achieve a desired mood or artistic style.
- Lens Flares/Dirt Mask: Add cinematic flair, but can be distracting if overused.
Engine Scalability Settings & Performance
These global settings in the editor (and at runtime) allow you to quickly adjust the visual fidelity versus performance trade-off. For development, you often want these set to 'Epic' or 'Cinematic' to see your intended quality. For testing performance or for lower-spec machines, you'd lower them.
Key Scalability Settings Affecting Lighting:
- Shadow Quality: Controls shadow map resolution and filtering.
- Global Illumination Quality: Affects the quality of real-time GI (like SSGI).
- Reflections Quality: Impacts the resolution and fidelity of screen-space reflections.
- Post-Processing Quality: Influences the quality of effects like bloom, ambient occlusion, and depth of field.
Comparative Table: Lighting Quality vs. Performance
Understanding the trade-offs is key to effective lighting. Here's a brief comparison of how different settings impact quality and performance.
| Feature/Setting | Lower Quality Setting | Higher Quality Setting | Impact on Quality | Impact on Performance/Build Time | ||
|---|---|---|---|---|---|---|
| Lightmap Resolution | 64x64 | 512x512+ | Blocky shadows, less detail | Faster builds, less memory | Sharper shadows, fine detail | Slower builds, more memory |
| Lightmass Indirect Quality | 1.0 | 4.0+ | Splotchy indirect light | Faster builds | Smooth, accurate indirect light | Much slower builds |
| Light Mobility (Dynamic) | Many Movable Lights | Few Movable Lights, Many Static | Flexible, real-time | High runtime cost | Less flexible (baked) | Low runtime cost (baked) |
| Post-Processing (e.g., Bloom) | Low Intensity/Disabled | High Intensity/Enabled | Flat look | Lower runtime cost | Cinematic glow | Higher runtime cost |
| Shadow Quality (Scalability) | Low | Cinematic | Pixelated, aliased shadows | Lower runtime cost | Smooth, detailed shadows | Higher runtime cost |
Frequently Asked Questions About UE4 Lighting
Q: Why does my lighting look different after building?
A: This is usually because you're comparing unbaked (preview) lighting with baked (final) lighting. Before building, Unreal Engine provides a rough real-time approximation. Once built, the static lighting is computed by Lightmass and stored in lightmaps, which are far more accurate and detailed, especially for indirect illumination. Always ensure you rebuild lighting after significant changes to static lights or geometry to see the final result.
Q: What is a Lightmass Importance Volume and why do I need it?
A: The Lightmass Importance Volume is a crucial optimisation tool. It tells Lightmass where to focus its high-quality global illumination calculations. Any areas inside the volume will receive detailed, accurate GI, while areas outside will receive lower-quality, less detailed GI or none at all. Without it, Lightmass tries to calculate GI across the entire level, leading to extremely long build times and potentially lower quality in your main areas. Always place one to encompass your playable or visually important areas.
Q: My shadows are blocky and jagged, how do I fix them?
A: Blocky shadows typically point to low lightmap resolution on the affected meshes or low shadow resolution settings for your lights or global scalability settings. Increase the 'Lightmap Resolution' of the meshes casting or receiving the shadows. For dynamic shadows, check the individual light's 'Shadow Resolution Scale' and the overall 'Shadow Quality' in your Engine Scalability Settings.
Q: How can I speed up light builds?
A: Several strategies can help:
- Use a Lightmass Importance Volume: As mentioned, this is paramount.
- Reduce Lightmap Resolutions: Lower resolutions on less critical assets.
- Optimise Lightmass Settings: Don't use excessively high 'Indirect Lighting Quality' or 'Num Indirect Lighting Bounces' until final polish.
- Distribute Builds: Use Swarm Agent to distribute light builds across multiple machines on your network.
- Limit Static Lights: Fewer static lights mean fewer calculations.
- Check for Overlapping UVs: Fix these as they can cause Lightmass to struggle.
Q: Why are my emissive materials not lighting up the scene?
A: By default, emissive materials (materials that glow) do not contribute to the scene's global illumination or cast light onto other surfaces in Unreal Engine 4's baked lighting system. To make them contribute, you need to enable 'Use Emissive For Static Lighting' on the material and ensure the mesh is static and receives baked lighting. For dynamic emissive lighting, you would typically use a separate light source placed near the emissive object, or rely on real-time GI solutions like SSGI (if enabled) which only provide an approximation.
Q: What's the difference between Static, Stationary, and Movable lights?
A: This is a fundamental concept in UE4 lighting:
- Static Lights: Fully baked. Best performance, highest quality indirect lighting, but cannot change or move at runtime. Only direct lighting is stored in lightmaps.
- Stationary Lights: Hybrid. Direct lighting is dynamic (can change colour/intensity), but indirect lighting is baked. Good balance of performance and flexibility. Up to 4 overlapping stationary lights are supported efficiently; more will incur higher costs.
- Movable Lights: Fully dynamic. Everything (direct, indirect, shadows) is calculated in real-time. Most flexible (can move, change properties), but highest performance cost. Best for player flashlights, car headlights, or anything that needs to move or change frequently.
Conclusion
Unreal Engine 4's lighting system is incredibly deep, offering a vast array of tools to bring your scenes to life. While common issues like unbuilt lighting, problematic Lightmap UVs, or incorrect mobility settings can be frustrating, they are often straightforward to diagnose and fix. By understanding the core principles of light baking with Lightmass, judiciously adjusting lightmap resolutions, and finessing your Post-Processing Volume and Scalability Settings, you can achieve professional-grade visuals. Remember that lighting is an iterative process; don't be afraid to experiment, rebuild, and refine until your scene glows exactly as you envision. Happy developing!
If you want to read more articles similar to Unreal Engine 4 Lighting: Fixes & Quality, you can visit the Lighting category.
