jetyb писал(а):Попробуйте еще с классами ShaderVariant поиграться.
Почитал про ShaderVariant, насколько понял он нужен для того, чтобы сделать Shader.WarmupAllShaders, только не для всех шейдеров, а для отдельного у меня шейдеров не много, поэтому попробовал делать Shader.WarmupAllShaders перед первоначальной проверкой шейдера на работоспособность, не помогло.
В общем пока что написал свой костыль, который создает сферу (GameObject.CreatePrimitive(PrimitiveType.Sphere)), перед камерой и вешает на её материал данный шейдер, после этого жду один кадр и записываю в статическую bool переменную значение Shader.isSupported, после этого уничтожаю сферу, а в скриптах которые юзают данный шейдер делаю инициализацию с задержкой, и проверяю данную статическую переменную, решение так себе, но зато работает.