Unreal Engine How to Disable Baked Lighting

Want to disable baked lighting in Unreal Engine? This guide walks you through the process to improve performance, fix lighting issues, and prepare your scene for dynamic content. You’ll learn both project-level and level-specific methods using Lightmass settings and light types. Whether you’re troubleshooting or optimizing, these steps will help you control how your scene lights.

# Unreal Engine How to Disable Baked Lighting

Baked lighting is one of the most powerful features in Unreal Engine, allowing artists and developers to create realistic, high-quality visuals by pre-computing how light interacts with surfaces. However, there are times when you might want to disable baked lighting — perhaps to make a character move through shadows dynamically, to fix lighting glitches, or to optimize for real-time workflows. In this comprehensive guide, we’ll walk you through exactly how to disable baked lighting in Unreal Engine, whether you’re working in a new project or updating an existing one.

By the end of this article, you’ll understand not only how to turn off baked lighting but also why you might want to do it. We’ll cover everything from basic project settings to advanced techniques involving light types and post-processing. Let’s get started!

## What Is Baked Lighting?

Before diving into how to disable baked lighting, it’s important to understand what it actually is. Baked lighting refers to light that has been precomputed and stored in texture maps called lightmaps. This process, handled by Unreal Engine’s Lightmass system, calculates complex lighting interactions like global illumination, shadows, and reflections during development time.

The main advantage of baked lighting is performance. Once baked, the engine doesn’t need to recalculate lighting every frame, which reduces CPU and GPU load. That’s why it’s commonly used in static environments like buildings, furniture, and terrain.

However, baked lighting comes with trade-offs. Dynamic objects can’t cast or receive real-time shadows from baked lights. If you move a character into a shadowed area, the lighting won’t update until you rebake. This lack of interactivity can be problematic in games or simulations requiring responsive environments.

That’s where disabling baked lighting becomes useful. By switching to real-time lighting, you gain full interactivity, but at the cost of higher performance demands.

## Why Would You Want to Disable Baked Lighting?

There are several valid reasons to disable baked lighting in Unreal Engine:

Dynamic Object Interaction: When characters or moving objects need to cast shadows or be affected by light sources in real time.
Fixing Visual Glitches: Sometimes baked lighting creates artifacts like light leaks, incorrect shadow angles, or dark spots. Turning it off can resolve these issues.
Real-Time Editing: During development, real-time lighting lets you see immediate changes when moving lights or adjusting materials.
VR and Fast-Paced Games: These often require low latency and high responsiveness, making real-time lighting preferable despite its performance cost.
Testing and Prototyping: Quick iteration is easier with real-time lighting since you don’t need to wait for baking.

Of course, real-time lighting isn’t always the best choice. On lower-end hardware, baked lighting remains essential for maintaining smooth frame rates. So before disabling baked lighting, consider your project’s goals and target platforms.

## How to Disable Baked Lighting: Step-by-Step Guide

Now let’s go through the actual steps to disable baked lighting in your Unreal Engine project. We’ll start with the most straightforward method — changing project-wide settings.

### Step 1: Open Project Settings

Begin by launching Unreal Engine and opening your project. Then follow these steps:

– Click on **Edit** in the top menu bar.
– Select **Project Settings**.
– In the left sidebar, navigate to **Engine > Rendering**.

Here, you’ll find various rendering options that affect how lighting behaves in your game.

### Step 2: Disable Light Propagation Volumes (Optional)

Light Propagation Volumes (LPV) are a type of global illumination technique used alongside baked lighting. While they aren’t strictly baked lighting, disabling them can reduce reliance on precomputed data.

– In the same Project Settings menu, go to **Engine > Rendering > Global Illumination**.
– Look for **Light Propagation Volume** and set it to **Disabled**.

Note: LPV is more common in older versions of Unreal Engine. Newer versions use Virtual Shadow Maps and other real-time GI methods.

### Step 3: Modify Lightmass Settings

Lightmass controls the baking process. To reduce or eliminate baked lighting, adjust these settings:

– Go back to **Project Settings > Engine > Rendering**.
– Find the **Lightmass** section.
– Set **Final Gather Quality** to **Low** or **Disabled**.
– Reduce **Indirect Lighting Cache Quality** to **0**.
– Turn off **Precompute Primary Lighting Only**.

These changes minimize the amount of data baked into lightmaps. While not a full disable, this approach helps transition toward real-time lighting.

### Step 4: Change Default Lighting Mode

Unreal Engine uses different lighting modes depending on the level. You can override the default mode:

– In the **World Outliner**, right-click on the level blueprint or world settings.
– Select **Open Level Blueprint** if needed.
– Add a **Set Lighting Mode** node.
– Choose **LM_RealTime** as the lighting mode.

This forces the entire level to use real-time lighting instead of baked.

Alternatively, you can edit the **DefaultEngine.ini** file:

“`ini
[/Script/Engine.RendererSettings]
r.LightingMode=LM_RealTime
“`

Save the file and restart the editor. This change applies globally unless overridden per level.

### Step 5: Adjust Individual Light Types

Even after changing global settings, individual lights may still contribute baked elements. Review each light source:

– Select a **Directional Light**, **Point Light**, or **Spot Light**.
– In the Details panel, under **Light**, uncheck **Casts Shadows** if you don’t need shadows.
– For **Static** or **Stationary** lights, change their **Mobility** setting to **Movable**.
– Ensure **Use Temperature** and **Use Color Temperature** are unchecked unless required.

Lights marked as **Movable** use real-time calculations. Static lights rely on baked data.

### Step 6: Rebuild Lighting (If Needed)

After making changes, you may need to clear old baked data:

– Open the **Build** menu.
– Select **Rebuild Lighting**.

This removes all previously baked lighting and ensures your new settings take effect.

## Advanced Techniques

Sometimes, completely disabling baked lighting isn’t ideal. Instead, you might want a hybrid approach — keeping some baked elements while enabling real-time updates. Here’s how.

### Use Hybrid Lighting with Lightmass

Unreal Engine supports **hybrid lighting**, where certain objects use baked lighting and others use real-time.

– Mark non-moving objects as **Static** in the mesh properties.
– Mark moving objects as **Movable**.
– Bake lighting only once.
– Real-time lights will now affect movable objects dynamically.

This gives you the best of both worlds: performance for static geometry and interactivity for gameplay elements.

### Disable Baked Lighting Per Level

You can control baked lighting on a per-level basis:

– Open the level you want to modify.
– In the **World Settings**, go to **Rendering**.
– Set **Lighting Mode** to **Real-Time**.
– Save and close the level.

Each level maintains its own lighting mode, so this method is flexible for multi-level projects.

### Use Post-Processing Volumes for Dynamic Effects

Instead of relying solely on baked lighting, use **Post-Processing Volumes** to add color grading, bloom, and ambient occlusion dynamically. These don’t interfere with baked data and offer real-time adjustments.

## Troubleshooting Common Issues

Even after disabling baked lighting, you might encounter problems. Here are some common issues and fixes.

### Issue: Still Seeing Baked Shadows
This usually means some lights are still marked as Static or the level wasn’t rebuilt.

– Check all light Mobility settings.
– Rebuild lighting.
– Verify no actors have **baked lighting** enabled in their material instances.

### Issue: Performance Drops Too Much
Real-time lighting is resource-heavy. To balance:

– Lower shadow resolution in **Project Settings > Engine > Rendering > Shadows**.
– Use fewer real-time lights.
– Enable **Virtual Shadow Maps** (available in Unreal Engine 5) for better performance.

### Issue: Dark or Incorrect Lighting
If your scene looks too dark after disabling baking:

– Increase exposure in the **Post Process Volume**.
– Add fill lights to brighten corners.
– Recheck light intensity and distance settings.

## Best Practices

When disabling baked lighting, keep these tips in mind:

Test on Target Hardware: Always test performance on the lowest-spec device you plan to support.
Limit Real-Time Lights: Too many real-time lights overload the renderer. Use emissive materials or light functions as alternatives.
Use Lightmass Sparingly: Even with baking disabled, occasional Lightmass passes can improve realism without sacrificing interactivity.
Update Materials: Ensure materials use **World Position Offset** or **Custom Depth** only when necessary, as they impact real-time performance.

## Conclusion

Disabling baked lighting in Unreal Engine is a powerful way to enable dynamic, interactive environments. Whether you’re fixing visual bugs, prototyping quickly, or building fast-paced games, real-time lighting offers greater flexibility. Just remember that it comes with higher performance costs, so balance your choices based on your project’s needs.

By following the steps in this guide — from adjusting Lightmass settings to modifying individual light types — you can confidently control how your scene handles lighting. And if full disable isn’t right for your project, hybrid approaches offer a smart middle ground.

With practice, you’ll know exactly when and how to disable baked lighting for optimal results. Happy developing!