Color Correction allows you apply arbitrary color correction to your scene as a postprocessing effect (just like the Curves tool in Photoshop or Gimp). This page explains how to setup color correction in Photoshop and then apply exactly the same color correction at runtime in Unity.
Getting color correction from Photoshop into Unity
Take a screenshot of a typical scene in your game
Open it in Photoshop and color correct using the Image->Adjustments->Curves
Save the .acv file file from the dialog using Save…
Open Pro Standard Assets->Image Based->color correction ramp.png in Photoshop
Now apply color correction to the ramp image: open Image->Adjustments->Curves again and load your saved .acv file
Select your camera in Unity and select Component->Image Effects->Color Correction to add color correction effect. Select your modified color ramp.
Hit Play to see the effect in action!
Color correction works by remapping the original image colors through the color ramp image (sized 256x1):
result.red = pixel’s red value in ramp image at (original.red + RampOffsetR) index
result.green = pixel’s green value in ramp image at (original.green + RampOffsetG) index
result.blue = pixel’s blue value in ramp image at (original.blue + RampOffsetB) index.
So for example, to invert the colors in the image you only need to flip the original color ramp horizontally (so that it goes from white to black instead of from black to white).
A simpler version of color remapping that only remaps based on luminance can be achieved with Grayscale image effect.
The color correction ramp image should not have mip-maps. Turn them off in Import Settings. It should also be set to Clamp mode.
This effect should run on all hardware that Unity supports.
Color Correction Curves
Color Correction lookup texture
Is something described here not working as you expect it to? It might be a Known Issue. Please check with the Issue Tracker at issuetracker.unity3d.com.