Camera settings
The Camera component exposes two post-processing settings: EnablePostProcessing — disable this to skip all post-processing for the camera entirely. PostProcessAnchor — by default,PostProcessVolume triggers are evaluated using the camera’s world position. Assign a different GameObject here to use that object’s position instead. This is useful for top-down games where you want effects to respond to the player’s position rather than the camera’s.
PostProcessVolume
PostProcessVolume is a component that activates a set of post-processing effect components whenever the relevant anchor is inside it.
Add effect components
Add post-processing effect components (such as
FilmGrain or Tonemapping) to the same GameObject or to a child GameObject.Volume shapes
| Shape | Use case |
|---|---|
| Box | Localised region with controllable blend edges |
| Sphere | Radial region |
| Infinite | Applies everywhere; useful for effects you toggle via BlendWeight at runtime |
Blending
Effects blend in based on how far inside the volume the anchor is, controlled by the BlendDistance property. Use BlendWeight on the component to fade an infinite volume in or out from code.Editor preview
When aPostProcessVolume is selected, the editor shows a preview of its effects. Uncheck Editor Preview on the component to stop this.
Built-in effects
Tonemapping
Tonemapping remaps HDR colours to the display range. Add a Tonemapping component to your camera’s GameObject. Properties:| Property | Description |
|---|---|
| Mode | The tonemapping operator |
| Auto Exposure Enabled | Toggles automatic exposure adaptation |
| Minimum Exposure | Lower bound for auto exposure |
| Maximum Exposure | Upper bound for auto exposure |
| Rate | How quickly exposure adapts to brightness changes |
Hable Filmic
Hable Filmic
Source 2’s default tonemapper. Preserves detail in dark areas well, but loses punchiness in brighter areas.
ACES
ACES
Filmic with very high contrast and punchy colours. A popular choice for cinematic looks.
Reinhard-Jodie
Reinhard-Jodie
Low contrast. Good for most environments.
Linear
Linear
Unbiased — only applies exposure. No colour remapping.
AgX
AgX
The same tonemapper used by Blender. Similar saturation and detail to ACES, but lifts darker areas slightly more. Works well for outdoor scenes.
You can run other post-processing effects before tonemapping (in HDR space) or after it (in LDR space) by using the
Stage parameter when blitting in a custom effect.Film grain
The FilmGrain component adds simulated film-style grain to the camera output. It is purely visual and does not affect gameplay or lighting.| Property | Description |
|---|---|
| Intensity | Overall visibility of the grain. 0 = off, 1 = heavy. |
| Response | How much the grain reacts to brightness. Higher values reduce grain in darker areas. |
Creating a custom post-processing effect
Derive fromBasePostProcess<T> to create a component that can blend across multiple PostProcessVolume instances.
GetWeighted — returns a value blended across all active volumes the camera is currently inside, weighted by how far in the camera is.
Blit — creates a CommandList that executes at the specified render stage and order. Pass true as the fourth argument to WithBackbuffer if your shader needs the back buffer, which will be passed to the shader as ColorBuffer.