Pighaus Games Docs

These docs describe 1.1, the version on Fab. 1.3 is in testing: read its docs, or what changes when you upgrade.

Post process

A Rig can carry its own look (vignette, grain, grade, even how the eye adapts), so the look changes with the shot, on the same blend.

In Unreal, the look usually belongs to where you are: post process volumes change it as you walk across a boundary. Blendable lets a Rig carry a look as well, so it belongs to what you're looking through. Blend to the aim Rig and its vignette fades in with the camera move, on the same timing.

It layers over your volumes rather than replacing them, and only touches what you tick. Your level's look stays in charge; the Rig adds its opinion on top.

What a Rig can set#

Each has its own tick box. Anything unticked is left exactly as the level has it.

SettingWhat it changes
Vignettedarkening at the edges
Film graingrain strength
Chromatic aberrationcolour fringing, and how far out it starts
Bloombloom strength
Motion blurmotion blur amount
Colour gradingsaturation and contrast
Exposurebrightness, in stops
Exposure speedhow fast the eye adapts, brightening and darkening separately
Materialsany post process materials, each with its own weight

Weight is the master for the whole block: at zero, the Rig's look does nothing. One known issue in 1.1: a ticked setting lands at full strength whatever Weight says. 1.3 lays the look over the level at the Rig's Weight.

How it blends#

Numbers blend smoothly. Tick boxes can't be half ticked, so they switch halfway through a blend. If two Rigs tick different things, fade the Weight, or tick the same set on both, and the crossing stays clean.

Materials blend better than the rest: each carries its own weight, so a scope overlay on your aim Rig genuinely fades up as the weapon rises, rather than appearing halfway.

Exposure is opt-in, twice#

Nothing here touches exposure unless you've switched it on in two places: Allow Rigs To Control Exposure in project settings, and the exposure boxes on the Rig. Both ship off. With the project switch off, a Rig's exposure settings are ignored completely.

The payoff when you do: a survival-horror Preset can adapt slowly, so stepping into a dark room leaves the player briefly blind, while an action Preset snaps.

Go deeperExposure speed and range, in detail

Speed is stops per second, separately for getting brighter and getting darker. Unreal ships 3 and 1, because eyes adapt to bright much faster than to dark, and making the two equal reads as artificial before you can say why.

Range is how far the eye may adapt at all. Unreal's floor is -10, which with the default extended luminance range means adapt to starlight. That one number is why an unlit room so often ends up looking much like a lit one: the eye keeps opening until the dark isn't dark. Raise the floor and darkness survives.

EV100Roughly
15direct sun
10overcast day
5bright interior
0dim interior
−2moonlight
−10Unreal's default floor

The settings are named after the engine fields they drive, so Exposure Min Brightness rather than "minimum EV100". With UE5's default extended luminance range on, read them as EV100. An upside-down range is put in order rather than trusted, since Unreal would otherwise pin the exposure and it would look like adaptation had died.

Blending a speed or a limit is safe in a way blending an exposure value wouldn't be: both shape the adaptation rather than setting the image, so changing one mid-adaptation bends the curve instead of jumping the picture.

Go deeperWeight, materials and a few things that look like bugs

Materials answer to their own weight, not the grade's. A Rig that only wants a scope overlay shouldn't need to raise a grade it isn't using. Unreal multiplies the whole block by one weight, so Blendable raises that to whichever is highest, the grade's or the loudest material's.

Exposure speed isn't scaled by the weight. Half a speed is a different speed, not half a look. The master turns the whole block on or off instead.

Go deeperWhere it sits in the chain

The Rig's look is applied after the camera component's own post process settings, because that assignment replaces the whole struct: applied first, your Rig's grade would be thrown away on any camera with settings of its own. Lens focus sits after it for the same reason. From there it reaches the view as camera-level post process, which Unreal layers over your volumes.

The Sequencer transition track cross-fades post process itself when handing back to gameplay, because Unreal's own view blend deliberately leaves it alone and the grade would otherwise pop. It weights two layers rather than blending one struct into the other, which is what the camera manager itself does, so it keeps working as the engine adds new settings.