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 is the value of the isOnline variable in this C# code?

    var isOnline = true && false;

    Explanation

    When using the && operator, ALL boolean values must be true for the final value to be true. If even one of them is false, the final value will always be false.

    Struggling with Operators in C#? Click here to learn how to use them

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

    Reflection Probes in Unity: How to Get the Most Out of Them

    Reflection Probes in Unity: How to Get the Most Out of Them

    • Lighting
    • 3D
    Victor Nyagudi
    Victor Nyagudi

    November 2, 2025

    Read this article ad-free by becoming a Patreon member

    Reflections in Unity behave differently from reflections in the real world. Real-world reflections occur when light bounces off smooth, polished surfaces.

    The Unity Game Engine simulates this behavior using reflection probes. A reflection probe is like a separate camera in the game, capturing snapshots of the environment and storing them in a cubemap.

    A cubemap is like a hollow box, and the snapshots the reflection probe took are "pasted" on the inside faces of the box. There are six snapshots in total, one for each of the box's faces.

    Creating reflections in this way yields realistic reflections at a more affordable cost compared to calculating lighting data that more closely mimics real-world light behavior.

    This article assumes you're familiar with the basics of Unity. If you're not and need a refresher, watch this introductory video.

    How do you add reflection probes in Unity?

    You can add reflection probes to your Unity game by clicking the "+" in the Hierarchy window -> Light -> Reflection Probe.

    Tip

    A reflection probe is merely an empty GameObject with a Reflection Probe component.

    There are other ways to add reflection probes to a scene, but this method is the most convenient.

    The reflection probe is surrounded by a cubed outline that determines the area in which reflections will be applied to objects.

    If you can't see the cubed outline, you'll need to zoom out far enough in the Scene window, or enable gizmos if they're disabled.

    This cube can be adjusted in the Inspector window to make it bigger or smaller. You can also offset it on the x, y, and z axes.

    Baking Reflection Probes in Unity

    Reflection probes are set to Baked by default. This means the computations necessary to show reflections are done before the game runs.

    Performing the reflection computations ahead of time saves on performance and frees up resources to handle other tasks when the game is running, such as using more detailed visual effects.

    Shiny objects inside the reflection probe's cube won't show any reflections until you bake the reflection probe.

    If you're unfamiliar with baking light, Baking Lights in Unity: Everything You Need to Know to Get Started discusses it in more detail.

    You'll first need to mark any objects you want to show in a reflection as static, specifically Reflection Probe Static.

    The "Static" checkbox.

    The "Static" checkbox.

    You can do this by selecting the GameObject and, in the Inspector window, checking the box next to Static.

    If you only want the GameObject to be marked static solely for reflection probes, click the arrow next to the word Static and then click Reflection Probe Static.

    Click the Bake button at the bottom of the Inspector window with the reflection probe selected to bake it.

    If there are lights in your level and this is your first time baking, the lighting data for those lights will also be baked into a lightmap. Reflection probes work with lights, which is why any lights in the scene will also be baked.

    Baking lights requires multiple steps, which are discussed in-depth in How to Bake Lights in Unity: A Step-by-Step Guide.

    Once the baking process is complete, the smooth, polished objects in your level should show reflections on their surfaces.

    Realtime Reflection Probes in Unity

    Baked reflection probes don't update reflections for moving objects in the Unity player.

    If this proves to be a hindrance, you can set the reflection probe's Type to Realtime to convert it to a realtime reflection probe. The workflow is the same for both probes, i.e., adding, resizing, or removing them.

    You'll mostly end up using baked reflection probes, but it's worth knowing about realtime reflection probes as well.

    Mirrors in Unity

    Mirrors in video games aren't as straightforward as adding reflection probes, Baked or Realtime, to a scene.

    In fact, a former Grand Theft Auto: San Andreas and longtime Rockstar developer explained that due to video memory limitations on the PlayStation 2, he ended up rendering a mirrored version of the scene.

    This approach had some unintended side effects, but it achieved its goal, making the most of the current hardware's capabilities.

    Small dynamic reflections on small objects, such as plates, in your Unity game may not be worth worrying about because the player will likely miss them.

    However, if you want to add mirrors, you'll need to be a little creative. Setting a reflection probe to Realtime won't result in a mirror. Some of the environments may not even be shown in reflections at all.

    A backyard with an umbrella and large reflective surface in Unity.

    Umbrella isn't reflected on the highlighted mirror.

    A better alternative would be to use a render texture, a second camera, and a Quad primitive object to display what the camera sees.

    A backyard with an umbrella and large mirror.

    A render texture used as a mirror.

    This approach also has some caveats. For example, rotating the Quad to face the player flips the display horizontally. The reflected umbrella in the image above should be to the left, not the right.

    Objects too close to the "mirror" will also be much larger than they should be because objects closer to a camera's lens are bigger.

    Tip

    Unity's Oasis demo scene has an excellent showcase of reflections in water.

    Reflection Probes Best Practices

    • Place fewer reflection probes in large, open areas where fewer objects will be shown in a reflection. One is often enough.
    • Adjust the reflection probe's Box Size to include anything you want to show in a reflection.
    • Use baked reflection probes for simple, static reflections. They're better for performance.
    • Higher resolutions can result in long bake times. Lower resolution values to bake reflection probes faster. This can also improve your Unity game's performance.
    • Use the culling mask to prevent rendering insignificant objects, such as small rocks in the scene. This can also improve performance.

    If you encounter problems using reflection probes in Unity, the Unity Lights Troubleshooting Guide should be of assistance.

    The following images provide a reference for how reflection probes render reflections at different resolutions.

    A 32-unit resolution reflection probe creates simple reflections that look like smudged paint.

    Simple reflection from a low-resolution reflection probe.

    Simple reflection from a low-resolution reflection probe.

    These are baked almost instantly on a computer with the following specs:

    • GPU: NVIDIA GeForce GTX 1660, 6GB GDDR5 VRAM
    • CPU: Ryzen 5 2600
    • RAM: 16GB dual-channel

    You may have seen something similar in games made for the PlayStation 1, PlayStation 2, Xbox, and early 2000s PCs, where the hardware had significant limitations compared to recent consoles and computers.

    A 256-unit reflection probe creates more detailed reflections, with clearly visible large to medium-sized objects. Smaller objects are harder to make out.

    These are baked in about 3 seconds on a computer with the same hardware.

    Good reflection from a mid-resolution reflection probe.

    Good reflection from a mid-resolution reflection probe.

    These reflections are more prevalent on the PlayStation 3, PlayStation 4, Xbox 360, Xbox One, and early 2010s PCs, where the hardware was capable of handling heavier loads.

    A 1024-unit reflection probe creates highly detailed reflections where objects of all sizes are crystal clear.

    These bake in about 5 to 10 seconds.

    Detailed reflection from a high-resolution reflection probe.

    Detailed reflection from a high-resolution reflection probe.

    Given their performance cost, such reflections are mostly found in devices with either high-end hardware or used in games that are well-optimized.

    These devices include the PlayStation 4 Pro, PlayStation 5, Xbox One X, and mid to high-end PCs.

    In Closing

    Reflections, though not mandatory for a game, immerse the player deeper into the worlds you create when combined with proper lighting and level design.

    Join other members on Patreon if you'd like to learn more about reflections and how to incorporate them in your Unity game.

    Subscribe to the Height Above Sea Level YouTube channel for videos on using the Unity Game Engine 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