Auto Exposure

Auto Exposure

Auto Exposure is a post-processing system that dynamically adjusts your camera's exposure to simulate eye adaptation.

Auto Exposure solves the challenge of sampling your screen, evaluating the average EV within a target region, translating this average EV to a target EV adjustment, and then applying the EV adjustment to your screen.

Auto Exposure supports both instant adaptation and configurable progressive adaptation.

Auto Exposure gives you control over many exposure settings, including EV Curves, Minimum and Maximum EV Boundaries, Importance Filters, as well as Light-To-Dark and Dark-To-Light Progression Rates.

This package is designed to make it easy to get Auto Exposure without retooling your project or redesigning any source art assets or baked lighting.

Auto Exposure works regardless of your scene content. When you change your scene - such a moving a character, changing a material, or moving the camera - this Auto Exposure shader continues working normally and will render according to the options you provided.

Auto Exposure is also compatible with the Volumes Framework (opens in a new tab), so you can configure unique options depending on the position of your camera within the scene.

Auto Exposure offers two technical systems, one using Compute Shaders and the other using Fragment Shaders. This opens up compatibility across a huge range of platforms and devices.

Auto Exposure uses the Renderer Feature system in Unity URP.

Auto Exposure works in real time across all genres including casual games, 2D, FPS, third person, side-scroller, top down, and RTS.

Auto Exposure works well with other Unity tools and assets.

Package Style

Auto Exposure is a UPM-style package. When you import it, it will import to the Packages/~ directory.

All scripts are in the OccaSoftware.Exposure.[...] namespace and are contained within Assembly Definitions.

Requirements

Auto Exposure depends on the Universal Render Pipeline. If you are already using the Universal Render Pipeline, just install it and start using it. If you do not have Universal Render Pipeline available, you need to import it.

Auto Exposure is compatible with the following versions of the Unity Editor:

  • 2021.3 and later.