- Import the asset into your project
- Go to menu Assets and select Browse Shaders…
- Shader Control window will show. It’s useful to drag it and dock it under the Inspector panel:
- The main interface is divided in two areas: “Build View” and “Project View”.
- Use the “Build View” to control which shaders / keywords are included in your build. The data shown in this tab is from your last build since Shader Control is installed thus you need to make a quick compilation before any data is shown. Press “Quick Build” to instruct Shader Control to optimize the next build. This quick build won’t be functional because shaders are not compiled in the build but Shader Control can collect the data very quickly. After doing a quick build, next builds are normal.
Note: the Build View can show any shader, included hidden/internal Unity shaders whereas the Project View can only show shaders with source code in your project. Because of this, you will probably prefer to use the Build View most of the time except if you need to reduce the total keyword count.
- Use the “Project View” to list which shaders are in your project and modify them automatically to remove some keywords. Click “Scan Project” and expand any shader to list its keywords and options:
Click “Locate” to select the shader in the project panel or “Open” to open it with default system editor (if it does not open, make sure an application is configured to open files with .shader extension).
Click on the checkbox to disable or enable a keyword. Then click “Save” to update the shader file.
Shader Control will create a backup copy with same filename ending with “_backup”. Click “Restore” to recover the backup copy.
Each keyword you disable will reduce the total shader variants, which will contribute to a reduced build size and compilation time.
“List Materials”: this option will be shown next to the shader when one or more materials use it in your project. Click to show a list of the materials and have the ability to quickly locate them in the project panel.
“Prune Keyword”: if a shader source is not available (for instance, the Standard shader), Shader Control will still offer you a view of the materials that use that shader . It will also give you the option to prune any of the keywords used by those materials belonging to that shader. Prune keyword will disable the keyword reference in the materials listed. It won’t modify the shader itself, because the source is not available, but the materials won’t contribute to the keyword limit in the project.