HEIGHT ABOVE SEA LEVEL
  • Articles
  • Quizzes
Join Patreon

Suggested

    Become a Patreon member and receive:

    • 20+ articles ad-free

    • 100+ exclusive videos on C# and how to use Unity

    • 40+ cheat sheets on all things game development

    • 2 Custom Visual Studio Themes

    • 2-day early access to articles and YouTube videos

    Join Patreon
    • Articles
    • Quizzes
    Join Patreon

    Here's some dummy text to automatically resize the container as if there were actual text

    Some dummy text that's hidden to resize the component automatically

    Performance

    Audio

    Become a patreon member and receive the following:

    HEIGHT ABOVE SEA LEVEL
    • Articles
    • Quizzes
    Join Patreon

    Suggested

    • How to Bake Lights in Unity: A Step-by-Step GuideNovember 2, 2025
    • strings header imageA Game Developer's Guide to Strings in C#November 27, 2025
    • A Game Developer's Guide to Loops in C#November 27, 2025
    • A white silhouette of a backyard in Unity.Unity Lights Troubleshooting GuideNovember 2, 2025
    • top youtube channels header imageTop YouTube Channels for Aspiring Unity Game DevelopersNovember 14, 2025

    Become a Patreon member and receive:

    • 20+ articles ad-free

    • 100+ exclusive videos on C# and how to use Unity

    • 40+ cheat sheets on all things game development

    • 2 Custom Visual Studio Themes

    • 2-day early access to articles and YouTube videos

    Join Patreon
    • Articles
    • Quizzes
    Join Patreon

    Question of the Day

    What naming convention is used when naming fields in C#?

    Explanation

    Some people use Camel Case without the underscore, but the convention is to prefix the field with one. For example, private string _firstName.

    Click here to discover more new things about Fields & Properties in C#

    Think you know game dev? Check out the quizzes and find out.

    Baking Lights in Unity Taking Too Long? 5 Tips to Speed it Up

    Baking Lights in Unity Taking Too Long? 5 Tips to Speed it Up

    • 3D
    • Lighting
    Victor Nyagudi
    Victor Nyagudi

    November 2, 2025

    Read this article ad-free by becoming a Patreon member

    Baking lights in Unity can improve your game's performance by doing all the lighting calculations before the game runs, but the process can sometimes take a long time to complete.

    There are several reasons for the lengthy bake times, which can take hours in some cases, but there are adjustments you can make to prevent this.

    This article assumes you know how to bake lights in Unity and explores the settings you can change to improve bake times.

    If you're reading this article on a smaller device, right-click on images and select Open image in new tab to view them at full size.

    1. Progressive Updates

    "Progressive Updates" checkbox in the Lighting window.

    "Progressive Updates" checkbox in the Lighting window.

    The Progressive Updates option in the Lighting window determines if the lightmapper should prioritize baking what you see in the scene view.

    Checking the box next to it will update the objects in the scene gradually as the light is baking. Objects will initially appear dark and slowly brighten.

    Turning off Progressive Updates alone can significantly reduce light baking times.

    My internal tests on a fairly simple scene have shown that bake times reduced from over 15 minutes to under 2 minutes when I turned off Progressive Updates.

    2. Lightmapper

    "Lightmapper" option in the Lighting window.

    "Lightmapper" option in the Lighting window.

    The Lightmapper option in the Lighting window determines which system is used to bake lights.

    There are currently two options: Progressive CPU and Progressive GPU.

    If you're experiencing long bake times using the Progressive CPU, switch to the Progressive GPU.

    The CPU is already handling other tasks, such as running the Unity Editor and any other open programs, so offloading some of the work to the GPU can help speed up bake times since it doesn't normally handle as many tasks as the CPU.

    A simple internal test using Windows' built-in Task Manager revealed that baking lights using the Progressive CPU consumes up to 100% of the CPU for an extended period.

    CPU usage when baking lights with "Progressive CPU".

    CPU usage when baking lights with "Progressive CPU".

    The Progressive GPU fluctuates between 40% and 100% of the GPU's processes.

    GPU usage when baking lights with "Progressive GPU".

    GPU usage when baking lights with "Progressive GPU".

    The difference between the two is that if Unity is using 100% of the CPU, little is left over to perform other tasks on the computer. Even trying to take a screenshot resulted in noticeable delays.

    The GPU being under such high loads hardly affects regular computer operations. Furthermore, the load doesn't consistently stay at 100%.

    3. Samples

    Samples values in the Lighting window.

    Samples values in the Lighting window.

    The lightmapper uses samples to determine lighting calculations. There are three samples in the Lighting window:

    • Direct Samples: Used for direct lighting calculations.
    • Indirect Samples: Used for indirect lighting (bounced light) calculations.
    • Environment Samples: Used for environment lighting calculations.

    These settings are adjusted in predefined steps, ranging from 1 to 256. Higher values for these settings result in higher-quality lightmaps but increase the time it takes to bake lights in the Unity Game Engine.

    Internal tests revealed that a value of 256 for each setting with Progressive Updates turned off is a good starting point for baking lights.

    These values, with Progressive Updates turned off and all other settings at their default, resulted in bake times of roughly one minute.

    4. Lightmap Resolution

    "Lightmap Resolution" value in the Lighting window.

    "Lightmap Resolution" value in the Lighting window.

    The Lightmap Resolution setting in the Lighting window determines the lightmap's resolution in texels per unit.

    A higher resolution results in higher-quality lightmaps and improved lighting in your game at the cost of increased bake times.

    That being said, you're probably curious what the best lightmap resolution is for your game.

    For smaller levels, such as interiors with few objects and simple lighting, a lightmap resolution between 50 and 75 should suffice.

    For more realistic lighting, a lightmap resolution above 75 is a good starting point. You can always lower the lightmap resolution if the time it takes to bake lights becomes too long.

    Tip

    Increasing the lightmap resolution may solve smudges on walls and other artifacts caused by noisy lightmaps.

    5. Lighting Mode

    "Lighting Mode" option in the  Lighting window.

    "Lighting Mode" option in the Lighting window.

    Unity has three lighting modes for mixed lights. They're listed below in order of their effect on performance.

    • Distance Shadowmask & Shadowmask (most expensive)
    • Baked Indirect
    • Subtractive (least expensive)

    The visual fidelity of your game will determine the lighting mode you'll use when baking lights.

    Distance Shadowmask and Shadowmask offer more realistic lighting but with a higher performance cost. Distance Shadowmask is more costly compared to Shadowmask.

    Baked Indirect also offers realistic lighting and realtime shadows. The main difference between it and the Shadowmask lighting modes is that Baked Indirect only casts shadows up to a specified Shadow Distance.

    Subtractive offers simple lighting and low-fidelity shadows. This is a great option for low-poly games or games with stylized art.

    Using the Subtractive lighting mode may improve the light baking times, but the other modes may not have a big impact if the level's lighting is set up correctly.

    Bonus

    Adding many lights to a level can increase the time it takes to bake lights in Unity. Instead of using multiple light sources, you can use fewer lights with a longer range and higher intensity to light up more areas.

    Many reflection probes may also negatively impact bake times. Use fewer reflection probes in larger, open areas where fewer objects appear in a reflection. Reducing the reflection probe's resolution also helps.

    Too many light probes may affect light baking times. Use fewer, spaced-out light probes in open areas and more, condensed light probes in areas with many objects where light will often bounce, leading to more complex lighting calculations.

    In some cases, baking lights might be taking too long because of hardware limitations, so you'll need parts that are more capable of handling all the lighting computations you require.

    What are the best light settings in Unity?

    There's no one-size-fits-all solution to lighting settings in the Unity Game Engine. The best light settings are obtained through adjustments until the game developer is satisfied with the results.

    Regardless, if you're unsure of where to start and are looking for some general settings that will bake lights in under 2 minutes with decent results, try the following. All the other settings remain at their default option.

    • Lighting Mode: Baked Indirect
    • Lightmapper: Progressive GPU
    • Progressive Updates: Off
    • Direct Samples: 256
    • Indirect Samples: 256
    • Environment Samples: 256
    • Max Bounces: 2 or 4
    • Lightmap Resolution: 50
    • Max Lightmap Size: 1024

    In Closing

    The tests and settings used in this article were on a computer with the following relevant specs:

    • GPU: NVIDIA GeForce GTX 1660 6GB VRAM
    • CPU: Ryzen 5 2600
    • RAM: Dual channel 16GB
    • OS: Windows 11

    Computers with better hardware will perform better, while those with poorer hardware might experience degraded performance.

    If you're still experiencing trouble with lights, read the Unity Lights Troubleshooting Guide to help you diagnose the problem.

    Join others on Patreon to learn more about lights in Unity and how to incorporate them in a game.

    If you're a visual learner, subscribe to the Height Above Sea Level YouTube channel for videos on Unity and programming in C#.

    Become a Patreon member and receive:

    • 20+ articles ad-free

    • 100+ exclusive videos on C# and how to use Unity

    • 40+ cheat sheets on all things game development

    • 2 Custom Visual Studio Themes

    • 2-day early access to articles and YouTube videos

    Join Patreon

    Latest

    • A Game Developer's Guide to Classes in C#November 27, 2025
    • A Game Developer's Guide to Loops in C#November 27, 2025
    • A Game Developer's Guide to Conditional Statements in C#November 27, 2025

    Suggested

    • How to Bake Lights in Unity: A Step-by-Step GuideNovember 2, 2025
    • strings header imageA Game Developer's Guide to Strings in C#November 27, 2025
    • A Game Developer's Guide to Loops in C#November 27, 2025
    • A white silhouette of a backyard in Unity.Unity Lights Troubleshooting GuideNovember 2, 2025
    • top youtube channels header imageTop YouTube Channels for Aspiring Unity Game DevelopersNovember 14, 2025

    Become a Patreon member and receive:

    • 20+ articles ad-free

    • 100+ exclusive videos on C# and how to use Unity

    • 40+ cheat sheets on all things game development

    • 2 Custom Visual Studio Themes

    • 2-day early access to articles and YouTube videos

    Join Patreon