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

    Which of the following loops in C# does NOT need a conditional statement to execute?

    Explanation

    A foreach loop executes without a condition having to be true. A for loop has a conditional statement that determines if the loop should continue to the next cycle i.e. the statement in the middle like i < items.Length;.

    Found this confusing? Click here to learn more about conditional statements

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

    Unity Lights Troubleshooting Guide

    Unity Lights Troubleshooting Guide

    • 3D
    • Lighting
    Victor Nyagudi
    Victor Nyagudi

    November 2, 2025

    Read this article ad-free by becoming a Patreon member

    Multiple things can go wrong when baking lights in the Unity Game Engine. Some objects may still be dark after baking, some areas may not receive enough light, or shadows may appear off.

    Before you do any troubleshooting, there are a few concepts you should know before baking lights in Unity, such as lightmaps, light types, and light modes. If you're not familiar with them, the linked article will help you get started.

    This article also assumes you know how to bake lights in Unity and are familiar with the setup process, the Lighting window, and the general workflow associated with adding lights and other GameObjects to a scene. This introductory video covers these basics, in case you don't know them.

    Here are some of the most common issues you might encounter:

    • Objects that are still dark after baking.
    • Baking lights is taking too long.
    • No reflections after baking lights.
    • Blurry reflections after baking lights.
    • Reflections not moving.
    • Shadows are blurry/too soft/not crisp.
    • No shadows as objects move.
    • Not enough GPU memory to fit an entire lightmap, disabling progressive updates. Available GPU memory : 499.0 MB
    • There are 11 objects in the Scene with overlapping UV's. Please see the details list below or use the 'UV Overlap' visualization mode in the Scene View or Lightmaps in Lighting Settings for more information.
    • Light passing through non-existent cracks and spaces (light leaks).
    • Transparent objects appear solid.
    • Area lights don't light up.
    • How do I make objects glow in Unity?
    • The scene is still bright after removing/disabling all lights.
    • Smudges on walls and discolorations after baking lights.

    Objects in Unity are still dark after baking lights.

    A front yard with a blue sky and dark objects.

    Unusually dark objects in a level.

    Dark objects in the scene may occur as a result of improperly setting up the 3D models.

    GameObjects must be marked Static in the Inspector window, the Contribute Global Illumination box must be checked, and the 3D model must have the Generate Lightmap UVs box checked.

    The light sources in the scene may also have an Intensity or Range that's too low to illuminate objects well. Increasing these values in the Inspector window can help brighten things up.

    If you're still having trouble with dark objects, read the 5 Reasons Why Objects in Unity are Still Dark After Baking Lights article, where the issue is discussed in more detail.

    Baking lights in Unity is taking too long.

    High lighting setting values in the Lighting window can exponentially increase bake times.

    The biggest culprit of long bake times is the Progressive Updates setting. Turning this off alone can significantly reduce the time it takes to bake lights.

    "Progressive Updates" checkbox in the Lighting window.

    "Progressive Updates" checkbox in the Lighting window.

    Too many lights and reflection probes in a scene may also increase bake times, so reducing them can improve things.

    If you'd like to dive deeper into why lights in Unity are still taking a long time to bake, read the Baking Lights in Unity Taking Too Long? 5 Tips to Speed it Up article.

    No reflections after baking lights in Unity.

    Reflections in Unity are achieved using reflection probes. Reflection probes take snapshots of the predefined area and store them in a cubemap.

    A reflection probe near a house in Unity.

    The large sphere to the left is a reflection probe.

    The object's material will first need to be smooth enough to reflect light; otherwise, it won't show any reflections. You can adjust the material's Smoothness in the Inspector window with the material selected.

    If you want the smooth objects in your scene to have reflections, place a reflection probe nearby and adjust the area it covers based on what you'd like to reflect.

    Tip

    Use fewer reflection probes in large, open areas where there's little to show in reflections. More reflection probes work better in tighter areas with corners, but too many can hurt your game's performance.

    Blurry reflections after baking lights in Unity.

    If, after placing reflection probes in a scene and baking lights, the reflections appear blurry, you can adjust the reflection probe's resolution to sharpen them.

    Reflection from a 32-units resolution reflection probe.

    Reflection from a 32-units resolution reflection probe.

    Select the reflection probe in the scene and, in the Inspector window, unfold the Cubemap Capture Settings dropdown in the Reflection Probe component.

    Click the Resolution setting's dropdown and choose a higher number to increase the sharpness of blurry reflections.

    Reflection from a 256-unit reflection probe.

    Reflection from a 256-unit reflection probe.

    Reflections in Unity are not moving.

    Reflection probes are set to Baked by default. Baked reflection probes result in static reflections.

    If you want dynamic reflections that update as objects move in the Unity player, you'll need to set the reflection probe's Type to Realtime in the Inspector window.

    Shadows in Unity are blurry/too soft/not crisp after baking lights.

    Setting a light source's mode to Baked results in its light only showing after baking, and it casts softer shadows.

    A dark, blue room with light coming through the door and windows.

    Blurry shadows from a baked light.

    You'll need to use either Realtime or Mixed lights to cast sharper shadows.

    You can still cast soft shadows with Realtime or Mixed lights by changing the Shadow Type in the GameObject's Light component in the Inspector window under the Shadows dropdown.

    No shadows as objects move in Unity.

    Light sources whose mode is set to Baked cast static shadows. Objects that pass in the areas they light up will either not cast shadows, or the shadows they cast initially won't update as the objects move.

    A grey cube moving with a static shadow.

    The cube's shadow doesn't move when using baked lights.

    You'll need lights whose mode is set to Realtime or Mixed to cast shadows on moving objects in the area they light up.

    A grey cube moving with a dynamic shadow.

    The cube's shadow moves when it moves.

    You can update a light source's mode in the Inspector window under the General dropdown's Mode setting of the Light component.

    Console errors in Unity after baking lights.

    • "Not enough GPU memory to fit an entire lightmap, disabling progressive updates. Available GPU memory : 499.0 MB"

    You might encounter this error after consecutively baking light maps in Unity multiple times with the Progressive Updates box checked.

    If you check your GPU usage using Windows' built-in Task Manager or Xbox Game Bar overlay, you'll see that the VRAM usage is high, possibly around 90%.

    Tip

    Press Windows Key + G to open the Xbox Game Bar overlay. It has a small window displaying the performance statistics of the CPU, GPU, VRAM, and RAM.

    Uncheck the Progressive Updates option in the Lighting window to prevent this error. If you need the option to be checked, closing and re-opening Unity should free up the VRAM.

    • "There are 11 objects in the Scene with overlapping UV's. Please see the details list below or use the 'UV Overlap' visualization mode in the Scene View or Lightmaps in Lighting Settings for more information."

    This error occurs due to overlapping areas in the geometry affecting the lightmap output.

    You can inspect which parts overlap by clicking the Draw Mode dropdown at the top right of the Scene window (usually the first one from the left) and selecting UV Overlap. Overlapping UVs are highlighted in red.

    A white silhouette of a backyard in Unity.

    UV Overlap debug mode.

    You could try increasing the Lightmap Resolution in the Lighting window to fix this, but the best option would be to fix the overlapping UVs in Blender or other 3D modeling software if possible.

    If you don't have the necessary skills, reach out to the asset's creator and ask for assistance with the overlapping UVs.

    Tip

    You can use the other options under the Baked Global Illumination dropdown in the scene's Draw Mode to debug lights.

    Light passes through non-existent cracks and spaces in Unity.

    Light that bleeds through non-existent spaces in the game's geometry is called a light leak.

    A red ball and yellow cube inside a house with blue walls.

    Light leaking from non-existent spaces.

    The most likely culprit for light leaks is issues with the 3D model rather than bad lighting settings.

    If increasing the Lightmap Resolution and samples in the Inspector window yields no results, it's best to inform the asset's creator about the light leaks and where they occur so they can update it in Blender or the 3D software used to create the asset.

    Transparent objects in Unity appear solid.

    A muddy, white pickup truck with dark windows.

    Opaque windows on a pickup truck.

    If a transparent object that's supposed to let light pass through it appears opaque, check the object's material in the Inspector window.

    You'll find the material in the GameObject's Mesh Renderer component under the Materials dropdown.

    Ensure the material's Surface Type is set to Transparent. Click the color bar in the Base Map setting and adjust the alpha (A) channel. An alpha channel of 0 is fully transparent, while 255 is fully opaque.

    A muddy, white pickup truck with transparent windows.

    Transparent windows on a pickup truck.

    Area lights in Unity don't light up the scene.

    Light from Area lights must be baked for it to affect the scene.

    If you make any changes to an Area light, such as increasing its Intensity or Range, you'll need to bake the lights again to see their effect.

    Tip

    An Area light's mode is permanently set to Baked for performance reasons. You can't change it to Realtime or Mixed.

    How do I make objects glow in Unity?

    An old wooden house viewed from a low height.

    Glowing objects behind the house.

    The glowing effect can be achieved through post-processing. Post-processing is similar to adding filters to an image.

    It lets you adjust your game's color contrast, exposure, or even perform some color correction.

    The post-processing effect that makes objects glow in Unity is called Bloom. You can also adjust the intensity and threshold of the glow in your scene.

    The scene is still bright after removing/disabling all lights.

    If, after removing or disabling lights in a scene, the scene remains bright, you should bake the lights again to update the lightmap.

    Alternatively, you can clear the baked light data to restore the scene to to its previous state before baking any lights.

    Remember that some skyboxes have a sun or moon that also emits light onto objects in the scene. Changing the skybox or removing it and then rebaking lights can help eliminate any unwanted illumination.

    Smudges on walls and discolorations after baking lights in Unity.

    Smudges and other discolorations on object surfaces are signs of noisy lightmaps.

    An empty dark, blue room.

    Non-uniform blue color on the walls.

    Try moving the nearby lights and rebake the light. If the spots disappear, the light may have been positioned incorrectly, such as too close to or overlapping geometry.

    If that doesn't fix the issue, try increasing the Lightmap Resolution in the Lighting window to a higher value, like 100.

    Higher values for Direct Samples, Indirect Samples, or Environment Samples can sometimes result in clearer lightmaps too.

    Bonus

    Faulty scripts controlling lights can also cause problems in Unity. For example, a script that's supposed to increase a light source's intensity may end up decreasing it to 0 if it's written poorly.

    If changing light settings yields no results, it's worth it to debug any scripts attached to a light source to ensure everything's working as intended.

    In Closing

    Lighting plays a crucial role in enhancing any game, and adding it shouldn't be an inconvenience.

    Join others on Patreon to learn more about lighting in Unity and how to incorporate it in your game.

    Subscribe to the Height Above Sea Level YouTube channel if you're a visual learner for more 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