Achieve a red lighning effect in unity for a 2d game

Effect that im refering to: http://youtu.be/jaBY83WvS3M#t=05m36s

How could I achieve this kind of red lightning/flashing/shadowy effect in Unity3D for a 2D game? I'm trying to think of a way but I'm not that good with shaders or the particle system if thats even the right way to do it.

So I'm looking for any advice on how to achieve this or point me to the right direction.

Attached to every sprite is a SpriteRenderer component which has a color property. You can use that property to recolor the sprite. The color is applied multiplicative to the sprite, so pure red means all color channels but red are filtered out and the scene becomes shades interpolated between pure black and pure red. This should look very similar to the effect in that video:

gameObject.GetComponent<SpriteRenderer>().color = Color.red;


This is how it looks in the game:

However, that will only recolor that one sprite this script is attached to. Attaching it to every single sprite in your game might be a bit tedious to set up and might also be quite inefficient at runtime. But when you want to change the color of all sprites in the game, you can abuse the fact that all sprites by default share the "Sprites-Default" material. This material also has a color, and changing it has the same effect as changing it on the SpriteRenderer. So you just need a script with a reference to any sprite in your scene and then do:

anySprite.GetComponent<SpriteRenderer>().sharedMaterial.color = Color.red;


to make them all red. As a starting point you can use this script I just hacked together and attach it to one sprite. It will cause all sprites in your scene to blink red:

using UnityEngine;

public class Blink : MonoBehaviour {

private static readonly Color DEFAULT_COLOR = Color.white;

public Color color = Color.red;

void Update () {