Material optimization

A - Yes, kind of. The alpha channel is always uncompressed, so if you use all 4 channels, you’re really not saving much memory. HOWEVER, uncompressed is typically such a good quality, it looks as though you have doubled the size of the texture for only 3 times the memory cost. Actually doubling the size costs FOUR times as much memory. Under certain circumstances where compression is undesirable, the cost can definitely be worth it. By putting the texture detail in the uncompressed slot, they get some nice quality detail and normal/roughness information for a far less memory usage than using larger textures. Of course, the only problem with this is you can only have one flat color, and that color can only vary in terms of value.

B - You can append with a flat blue, but it is recommended to mask the RG values, plug that into DeriveNormalZ, and then use that result as the normal map. This will generate and append the blue channel based off of the RG values. I’m not sure what the math is behind it, but it does look a lot nicer than appending a flat 0,0,1 value. Just so you know, if you’re using this method, you first need to convert the RG range from 0:1 to -1:1. Constant bias scale it: Bias at -0.5, scale 2.

C - It was their preference to have more detail in the texture than in the normals or roughness. The roughness channel shouldn’t have extremely sharp increases in value. Normal maps are much better to leave uncompressed so the lighting is accurate, but if you’re in the mode of saving memory, you need to sacrifice the normal detail. One normal map uncompressed costs as much as 2 textures, and 2 textures can hold 6 compressed channels. Also, having one uncompressed normal channel and another compressed channel while leaving textures uncompressed can look awkward. Their method puts texture detail quality at the forefront at the expense of everything else.