Exploring shader macros and platform-dependent compilation
Now that we have discussed various tricks to optimizing the organization of our project shader assets and adding conditional behavior with branching or variants, let’s focus on another key aspect of cross-platform development for technical artists: handling the rendering specificities of each platform.
In this last section, we will explore various built-in macros that Unity provides us with for checking the type of platform we are building for, looking up the current Unity version, normalizing UV direction, and more.
Identifying the target platform
When working with shaders, it is fundamental to know what the target platform for your project is. Because although this obviously impacts many other areas of game development (such as UI/UX for controls, or responsive interfaces), the rendering tools you have at your disposal are inherently linked to the kind of device the game will run on.
Game engines such as...