Phaser AE

Colour grade

Pro packv3.0.0-32D and 3DPost

Grades the finished frame the way a colourist grades film: shadows, mid-tones and highlights per channel, then saturation, contrast, temperature and tint over the whole picture. One effect gives every asset in the game the same look, and nothing has to be repainted.

This is a Pro pack. Upgrade to Phaser Pro to use it in your games.See Phaser Pro →

Released October 14, 2026 · updated October 20, 2026

Colour grade: a screenshot of its demo
A note about these graphics

Expansion packs don't come with graphics. This screenshot is one way of drawing what the pack does, made for its demo: none of the sprites, tiles or backgrounds in it are in the pack.

That's by design. A pack is a game's logic, mechanics and effects, and it works with whatever art you give it. Some packs draw effects, backdrops or 3D scenes of their own, but none carries a game's sprites.

So the look is yours. Make the art on phaser.io, bring your own, or let your agent draw it in code: the same pack can look like anything.

What it does

grade is an effect for the post chain. Lift moves the blacks and leaves white where it is, gain scales toward white and leaves black where it is, and gamma bends the mid-tones between them; each takes a red, green and blue value or one number for all three, so a per-channel grade tints the shadows one way and the highlights another. Contrast is an S-curve through mid-grey that holds black and white in place, and a tint tones the picture toward one colour at each pixel's own brightness, up to a fully toned print whose brightest tones run to cream and white.

The order is fixed, as a colourist works: temperature, then lift, gamma and gain, then contrast, saturation and tint. Every param is identity by default and live through the handle, so a story beat is a tween: the colour drains as the world dies, or the temperature cools as night falls.

Features

  • Lift, gamma and gain — the three-way corrector, per channel or for all three at once.
  • Contrast that does not clip — an S-curve with black and white held.
  • Saturation — from black and white at 0 to vivid above 1.
  • Temperature — white balance from cool to warm, with brightness kept.
  • Tint — any CSS colour with an amount, from a light cast to a sepia or cyanotype print.
  • Live and cheap — one pass of plain arithmetic, with every param changeable on any frame.

Good for

  • Horror games — a cold, drained, slightly green picture.
  • Noir and detective stories — black and white with deep contrast, under grain and a vignette.
  • Action and cinematic games — a teal-and-orange blockbuster grade.
  • Day-night and time-of-day changes — a golden hour, or a night made from a day scene.
  • Mixed art sets — a light tint that pulls assets from different sources toward one palette.

Make it yours

Every look is a set of params. Noir is { saturation: 0, contrast: 1.4, gamma: 1.1 }, with grain and a strong vignette after it; night from day is { temperature: -0.7, gain: 0.65, gamma: 0.8, saturation: 0.5 }; sepia is { tint: '#a87a48', tintAmount: 0.9, contrast: 1.1, lift: 0.03 }. Horror, teal and orange, faded film and golden hour are just as short.

Two very different uses: a horror game runs one fixed cold, desaturated grade for its whole length; a game with a day cycle tweens temperature, gain and saturation from a golden hour into night as the clock turns.

A quick look

const grade = game.post.add('grade', {
    lift: [-0.02, 0.02, 0.05],   // shadows toward teal
    gain: [1.1, 1.0, 0.88],      // highlights toward amber
    saturation: 1.15,
    contrast: 1.15,
});
grade.set('temperature', -0.4);  // live: cooler

Works with

  • post — required; the chain that runs it.
  • post-grain — after the grade, so the grain sits on the graded picture and hides banding.
  • post-looks — its vignette after the grade, and its greyscale look for a plain fade to grey.
  • post-bloom — before the grade if the glow should be graded too.
  • tween — to move a param over a story beat.

Good to know

  • It works on each pixel's display colour, 8 bits a channel, not on scene light: a strong gain clips highlights it cannot get back, and heavy lift, gamma or contrast on a dark gradient can band.
  • The same grade covers the whole frame: no masks, no curves per hue and no lookup table. For one object's colour, use that object's tint.
  • It uses all sixteen of the chain's param slots.
  • The HUD is drawn above the chain, so it is never graded.

More Post packs

Show all →