
A brief introduction to how lighting works in Computer Graphics. You will understand the fundamental principles behind light simulation and how these concepts translate into real‑time rendering.
In this lesson, we explore the different types of direct lights implemented in Unity. You will learn what each light type is designed for and how they contribute to shaping the look of your scene.
In this video, we focus on one of the most commonly used lights in Unity—the Directional Light. You will learn how it works, how it affects your scene, and how to configure its parameters to achieve clean and consistent results.
Learn how to use and configure a Point Light to illuminate your scene. You will understand how its radius, falloff, and intensity influence the final lighting.
Explore how to use and configure Spot Lights and Area Lights. You will learn when to use each type, how they behave, and how to adjust their parameters for realistic and controlled lighting.
Use Image‑Based Lighting (IBL) to create ambient illumination in your scene.
In this video, we explore three important lighting features in Unity: shadow penumbra, using cookies to shape light, and applying IES profiles for physically accurate light distribution.
Put into practice everything you have learned about direct lighting. Without using Global Illumination, you will light a simple Still Life scene and understand how to achieve strong results using only direct light.
Learn how reflections work in video games and how to use Reflection Probes in Unity. You will understand how probes capture the environment and how they influence reflective materials.
Continue working with Reflection Probes and explore how to refine your setup to achieve more accurate and stable reflection results in your scene.
Planar Reflections provide highly accurate reflections for flat surfaces. In this module, you will learn how this technique works and how to implement it in Unity.
Screen Space Reflection (SSR) is a modern technique used in video games to reflect dynamic objects and enhance realism. You will learn how SSR works, its limitations, and how to configure it in Unity.
Learn how the Volume Profile system works in Unity. You will understand how to apply effects and define custom settings for an entire scene or for specific areas using local volumes.
In this module, you will learn how Global Illumination works and explore the different GI techniques Unity provides.
Discover how Lightmaps store Global Illumination information and learn how to configure them properly in Unity.
Continue working with Lightmaps to understand how each parameter affects the final bake. You will learn how to optimize settings to balance quality, performance, and baking time.
Light Probes provide Global Illumination for dynamic and moving objects. In this module, you will learn how to place, configure, and integrate Light Probes into your scene to ensure consistent lighting across static and dynamic elements.
Light Probes can sometimes introduce lighting inconsistencies. You will learn how to identify common issues and apply practical solutions to fix them.
You will revisit the Lightmaps scene and integrate Light Probes into the environment, ensuring both systems work together to produce cohesive lighting.
Explore Unity’s new Adaptive Probe Volume system and understand how it differs from the legacy Light Probes workflow. You will learn the advantages of APV and when to use it.
Learn how to enable APV in the render pipeline and perform the initial setup. You will configure the system to generate probe volumes and prepare your scene for APV‑based lighting.
Unity provides several tools to visualize and debug APV data. In this module, you will explore these tools and learn how to diagnose and fix common APV issues.
Continue exploring solutions for APV‑related artifacts. You will learn how to refine probe placement and adjust density.
One of APV’s key features is its ability to provide Global Illumination to both static and dynamic objects without baking Lightmaps. You will learn how this system works and how to leverage it in your scenes.
This module introduces the concept of Exposure and how it affects the perceived brightness of your scene.
Learn how to set up Exposure using both fixed and automatic modes. You will explore how each mode behaves and when to use them.
Explore Unity’s Exposure debug tools and review the additional exposure modes available in HDRP. You will learn how to evaluate exposure behavior and adjust it for different lighting conditions.
Lighting conditions often change in real‑time environments. You will learn how to adjust exposure values to maintain visual consistency.
Learn how to use mesh objects as emissive light sources and bake the Global Illumination they contribute.
Return to the Still Life scene from the Direct Lighting section and relight it using a combination of direct light and Global Illumination. You will see how both systems work together to create realistic results.
Explore how Post‑Processing effects can elevate the final look of your scene. You will learn how to configure key effects to enhance realism and visual polish.
Shadows are essential for realism but can impact performance. In this module, you will learn how to configure shadows properly and explore the options Unity provides to optimize them.
Unity offers several lighting modes that blend real‑time shadows with baked shadows. You will explore these modes and learn how to choose the right configuration for your project.
In this video, we explore the different techniques Unity 6 offers for calculating indirect lighting or Global Illumination in real time. You will understand the strengths and limitations of each approach and how they fit into modern rendering workflows.
In this lesson, you will learn how to enable Screen Space Global Illumination (SSGI) in Unity and explore its core parameters. You will understand how SSGI contributes to real‑time indirect lighting.
Using a more complex lighting setup with moving lights, you will see SSGI in action. This module demonstrates how SSGI responds to dynamic changes.
In this video, we explore Unity’s Realtime Indirect Lighting solution, a probe‑based method optimized for real‑time Global Illumination. Although it uses a baking process, it is designed to work efficiently with dynamic lights and changing environments.
Learn how to enable Ray Tracing in Unity and evaluate how SSGI behaves when combined with ray‑traced data. You will see how much accuracy ray‑traced SSGI can bring to real‑time GI.
Using a different scenario with a fully dynamic sun light, you will explore how to configure and use Unity’s realtime indirect lighting system to maintain consistent GI as lighting conditions change.
In this module, you will explore how to combine multiple techniques—such as baked Lightmaps + SSGI, or SSGI with Ray Tracing—to achieve higher quality indirect lighting in complex scenes.
Learn how to configure the Rendering Mask feature in Adaptive Probe Volume (APV). This tool helps you fix specific lighting issues that APV can create.
Light Scenarios allow APV to blend between different lighting conditions. In this video, you will learn how to configure Light Scenarios and how to blend them at runtime using scripts to support lighting transitions.
In this video, we explore what the Universal Render Pipeline (URP) is and highlight the key differences compared to HDRP. You will understand URP’s goals, strengths, and the types of projects it is best suited for.
Using the project previously built in HDRP, you will learn how to configure URP and begin the process of converting materials and settings. This module focuses on the foundational steps required to migrate a scene to URP.
In this video, we complete the migration process by fixing remaining issues and ensuring all materials, lights, and settings work correctly in URP. By the end, your scene will be fully prepared for URP workflows.
As we did in HDRP, we explore how shadows work in URP and how to configure ShadowMask and related settings. You will learn how URP handles mixed lighting.
URP does not currently support exposure controls as HDRP does. In this module, we bake Global Illumination into Lightmaps and explore practical solutions to manage exposure and maintain consistent brightness in your scene.
In this video, we explore a simple and effective method to handle exposure using a post‑processing effect. You will learn how to simulate exposure adjustments and maintain visual consistency across lighting conditions.
Explore how Realtime Indirect Lighting works in URP. Although the workflow is similar to HDRP, this module shows how URP implements real‑time GI and how to configure it for dynamic lighting scenarios.
Most HDRI environments include a sun, which can cause problems when baking Global Illumination in Unity. Because the HDRI sun is captured during the bake, combining it with an additional Directional Light can create unwanted double‑lighting artifacts. In this module, we explore why this happens and review practical solutions to avoid it.
In this video, you will learn how to modify your HDRI images to remove or adjust the embedded sun. This prevents double‑lighting issues and ensures cleaner, more predictable Global Illumination results in HDRP.
In this lesson, we apply the same double‑light fix used in HDRP, but now using URP. You will learn how URP handles HDRI lighting and how to adjust your workflow to avoid lighting inconsistencies.
In this lesson, we explore what LUTs (Look‑Up Tables) are and how they can be used to apply color grading to your final render. You will understand how LUTs enhance visual quality and why they are a powerful tool in both HDRP and URP.
Learn the complete workflow for creating LUT files using Adobe Photoshop and applying them in HDRP.
In this lesson, you will learn how to create LUT files using DaVinci Resolve and use them inside HDRP. This workflow is ideal for artists who prefer professional color‑grading tools.
In this video, we explore the workflow for creating LUT files specifically for URP using Adobe Photoshop. Since URP handles LUTs differently from HDRP, you will learn the correct export settings and how to apply LUTs effectively in URP projects.
Overview of The Courtyard environment, its purpose within the course, and where to find it in the Unity Asset Store. We examine the asset structure and identify the elements relevant for our lighting workflow in HDRP.
We import the assets into a clean Built‑in Render Pipeline project and remove all unnecessary files, scripts, and components. The goal is to isolate only the assets required for lighting, ensuring a minimal and controlled environment before migrating to HDRP.
We prepare the project for HDRP by converting materials, adjusting shaders, and applying custom scripts to ensure compatibility. Additional manual tweaks are performed to guarantee that all assets respond correctly to HDRP’s physically‑based lighting system.
We remove all pre‑existing lights, reflection probes, and baked data from the original asset package. This produces a completely neutral version of The Courtyard, ready for a full lighting setup built from scratch.
We bring the cleaned and HDRP‑compatible assets into our main lighting project. Final adjustments are applied to materials and scene elements, preparing everything for the lighting process that begins in the next module.
We begin the Sunset lighting workflow by configuring the directional light, environment lighting, and the HDRI sky. A first bake is performed to identify lightmap issues and establish a baseline for the upcoming adjustments.
We identify meshes with incorrect or overlapping UVs and fix them using Blender. The video covers the export/import workflow and the UV adjustments required for proper lightmap baking in Unity.
A new bake is performed to validate the corrected UVs. We review the results, detect remaining issues, and apply additional fixes to ensure optimal lightmap distribution.
We configure key lighting parameters such as intensity, color, and baking settings. A rebake is executed to evaluate how these adjustments shape the Sunset atmosphere.
We identify areas that require additional lighting and introduce area lights and spot lights to enhance visibility and mood. Intensities, colors, and shadows are refined to reinforce the Sunset look.
We analyze the updated bake, correct dark spots, refine materials, and apply final lighting adjustments. The scene is prepared for post‑processing to elevate the visual quality.
We apply post‑processing effects such as exposure, bloom, color grading, contrast, and tone adjustments. These refinements help achieve a cinematic Sunset look with high visual fidelity.
We adapt the scene for a nighttime environment by adjusting the sky, reviewing emissive objects, and preparing the base conditions for artificial lighting.
We start adding lights to emissive objects and perform initial test bakes. These tests help us tune the parameters required to establish the foundation of the night atmosphere.
We continue adjusting and adding lights to improve the overall mood and readability of the scene. The focus is on achieving a balanced and coherent nighttime setup.
We perform a bake to detect lighting issues and correct them. A subtle moonlight is introduced to enhance global illumination and reinforce the nighttime ambience.
We begin lighting practical elements such as reflectors and lamps within the scene. Their behavior is tuned to integrate naturally into the night environment.
We refine practical lights by adjusting intensity, color, falloff, shadows, and radius. A new bake is performed to validate the integration and ensure high‑quality results.
We analyze the bake to identify dark areas and visual inconsistencies. Fill lights are added to improve balance and avoid unwanted shadow patches.
We validate the final lighting setup, fix minor issues, and apply post‑processing effects to achieve a polished nighttime look. Color grading, bloom, and exposure adjustments complete the final result.
Overview of The Warehouse package, where to find it in the Unity Asset Store, and how to import it into the project. We prepare the scene for a full lighting workflow by removing unnecessary assets, cleaning inherited elements, and setting up a neutral starting point for HDRP lighting.
We begin the daylight setup by adding a directional light (sun), configuring the sky ambient lighting, and placing reflection probes. We also introduce Adaptive Probe Volume (APV) to improve global illumination. By the end of the video, the scene is ready for the first bake.
We evaluate the first bake and adjust key parameters such as exposure, lighting intensity, and reflection probe settings. A new bake is performed to validate improvements and refine the overall daylight balance.
We fix visual inconsistencies and introduce area lights to simulate soft daylight entering through the windows. Dark regions are identified and improved using additional area lights, followed by a new bake to confirm the results
With the lighting foundation complete, we refine exposure and apply post‑processing effects to elevate the visual quality. The focus is on achieving a clean, realistic interior daylight look.
We enable and configure ray‑traced reflections in HDRP to enhance visual fidelity. The video demonstrates how ray tracing improves reflective surfaces and overall realism in the Warehouse environment.
We adapt the Warehouse environment for a nighttime setup. Additional assets such as lamps and reflectors are introduced, and their built‑in lighting elements are prepared. The scene is set for the first night bake.
After reviewing the first bake, we enhance the ambient lighting by adding area lights and adjusting intensities. A new bake is performed to refine the nighttime atmosphere and improve visibility.
We improve the final lighting quality using post‑processing effects. Fog, exposure adjustments, and other parameters are applied to achieve a cohesive and atmospheric night scene.
We demonstrate a technique to improve nighttime readability by adding subtle rim lights in strategic locations. These lights help separate objects from the background and enhance the final image quality.
We port the Warehouse environment from HDRP into a URP project. Materials, shaders, and scene elements are adjusted to ensure compatibility with the Universal Render Pipeline.
We fix minor material issues, configure the URP sky, and prepare the scene for the first URP bake. The goal is to establish a clean and functional daylight foundation within URP’s lighting system.
After the first bake, the scene remains too dark. We add area lights to the lamps included in the Warehouse environment and rebake the lighting to improve interior illumination.
Once the interior lighting is correctly established, we enhance the final image using URP post‑processing effects. Exposure, bloom, and color adjustments are applied to achieve a polished result.
Overview of the Book of the Dead environment, where to find it in the Unity Asset Store, and how to import it into the project. We prepare the scene for a complete re‑lighting workflow by removing unnecessary assets and establishing a clean baseline for HDRP lighting.
We import the cleaned assets into our main HDRP project and fix remaining issues to ensure full compatibility. By the end of the video, the environment is ready for dynamic lighting work.
We discuss the challenges of lighting a scene with dynamic sunlight movement (rotating or animated directional light). The video explains the workflow, limitations, and considerations required to achieve consistent results across multiple lighting states.
We build the first lighting state: Afternoon. This includes configuring Adaptive Probe Volume (APV), setting up a procedural sky, reviewing the script that will manage lighting transitions, and performing the first APV bake.
We evaluate the first APV bake, identify issues, and refine exposure and lighting parameters in darker areas. Additional adjustments are applied to improve the overall balance of the Afternoon setup.
We develop the second lighting state: Sunset. The video covers adjustments to directional light, sky, exposure, and APV settings. We also fix APV artifacts to ensure a clean transition between lighting states.
We explore how to configure APV Light Scenarios to blend multiple lighting setups. The video demonstrates how to integrate our custom script and how to configure smooth transitions between the Afternoon and Sunset lighting states.
We configure the reflection probes required for smooth transitions between lighting states. The video explains how to prepare the probes, how to integrate them into the dynamic lighting script, and how to ensure that reflections blend correctly when switching between Afternoon and Sunset setups.
Each lighting state receives its own color grading profile. We demonstrate how to create a smooth transition between both states using our script and apply final post‑processing corrections to achieve a polished, seamless dynamic lighting cycle.
Lighting is one of the most beautiful fields in Computer Graphics. Defining the correct lighting setup in your 2.5 or 3D environment helps shape the mood, define form, guide the player’s eye, and transform a simple scene into a truly pleasant experience. In this course, you will learn how lighting in Unity works by exploring the tools available in both major render pipelines—HDRP and URP—using a combination of artistic principles and technical skills.
Whether you are a beginner or an experienced Unity user, this course will give you a deep understanding of Direct Lighting, Indirect Lighting, and Global Illumination techniques; the differences between baked and real‑time GI; Ray Tracing lighting; exposure; and post‑processing effects. You will learn not only what these tools can do to support your artistic direction, but also how to use them to create beautiful, physically accurate, and production‑ready results.
Throughout the lessons, I use simple scenes that are ideal for teaching each lighting technique, allowing you to understand the concepts in the simplest way possible. In addition, you will take everything you learn and put it into practice in a more complex exterior and interior environment that you can download for free from the Unity Asset Store.
This course was created using Unity version 6000.0.46f1, although the version may change in future course updates.