Т.к. скрипт эффекта на JS, поэтому чтобы добавить его кодом придется применить немного рефлексии...
using UnityEngine;
public class AddRemoveBloom : MonoBehaviour
{
public Texture2D lensFlareVignetteMask;
void Update()
{
if(Input.GetKeyDown(KeyCode.Space))
{
var component = Camera.main.GetComponent("BloomAndLensFlares");
if(component!= null)
{
Destroy(component);
}
else
{
component = Camera.main.gameObject.AddComponent("BloomAndLensFlares");
var type = component.GetType();
type.GetField("lensFlareShader").SetValue(component, Shader.Find("Hidden/LensFlareCreate"));
type.GetField("vignetteShader").SetValue(component, Shader.Find("Hidden/VignetteShader"));
type.GetField("separableBlurShader").SetValue(component, Shader.Find("Hidden/SeparableBlurPlus"));
type.GetField("addBrightStuffOneOneShader").SetValue(component, Shader.Find("Hidden/BlendOneOne"));
type.GetField("screenBlendShader").SetValue(component, Shader.Find("Hidden/Blend"));
type.GetField("hollywoodFlaresShader").SetValue(component, Shader.Find("Hidden/MultipassHollywoodFlares"));
type.GetField("brightPassFilterShader").SetValue(component, Shader.Find("Hidden/BrightPassFilterForBloom"));
type.GetField("lensFlareVignetteMask").SetValue(component, lensFlareVignetteMask);
}
}
}
}
На переменную lensFlareVignetteMask надо назначить текстуру Standard Assets\Image Effects (Pro Only)\_Sources\Textures\VignetteMask
Управлять шейдером так же придется через рефлексию да... либо использовать js.
Вообще, все что надо назначить из ресурсов можно посмотреть выбрав сам скрипт эффекта:
Еще желательно все шейдеры эффекта либо так же определить переменными как текстуру, либо положить в папку Resources, чтобы функция Shader.Find() сработала корректно в билде.
По поводу андроеда - вероятно будет, где поддерживаются пост эффекты, иначе увидишь розовый экран.