How to do it...

In all the previous chapters, we have always been able to refit Surface Shaders. This is not the case any more, as Surface and Fragment Shaders are structurally different. We will need to implement the following changes:

  1. Delete all the properties of the shader, replacing them with the following:
Properties { _Color ("Color", Color) = (1,0,0,1) _MainTex ("Albedo (RGB)", 2D) = "white" {}}
  1. Delete all the code in the SubShader block and replace it with this:
SubShader { Pass  { CGPROGRAM #pragma vertex vert #pragma fragment frag half4 _Color; sampler2D _MainTex; struct vertInput  { float4 pos : POSITION; float2 texcoord : TEXCOORD0; }; struct vertOutput  { float4 pos : SV_POSITION; float2 texcoord : TEXCOORD0; }; vertOutput ...

Get Unity 2018 Shaders and Effects Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.