コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】The shader is null or unsupported on this device

アセット

はじめに

using Colorful;
using UnityEngine;

public class Example : MonoBehaviour
{
    private void Start()
    {
        var camera = Camera.main;
        var filter = camera.gameObject.AddComponent<LookupFilter3D>();
        var tex    = Resources.Load<Texture2D>( "InstagramFast/Inkwell" );

        filter.LookupTexture = tex;
    }
}

アセット「Colorful FX」のコンポーネントを
スクリプトからカメラにアタッチするようにして、Android で動かしてみたところ

The shader is null or unsupported on this device

上記の警告が出力されて、正常にポストエフェクトが動作しない現象に遭遇した

修正方法

f:id:baba_s:20190506161322p:plain

Unity メニューの「Edit > Project Settings > Graphics」を選択して

f:id:baba_s:20190506161337p:plain

ポストエフェクトが使用しているシェーダを
「Always Included Shaders」の項目に追加したところ
Android で正常にポストエフェクトが動作するようになった