Published "Default UI Shader" differs from actual default UI shader

Since unity 2021.3 canvases have the “VertexColorAlwaysGammaSpace” option

This option’s implementation is unfortunately undocumented, and impossible to reproduce in a custom UI shader.

It’s impossible to know if the parent canvas has the option enabled, and impossible to know the color space of the vertices received.

Custom UI shaders have to assume one option or the other was selected, so cannot reliably offer any support for “vertexColorAlwaysGammaSpace”.

The published default ui shader implementation has not been updated to show how vertex color space is handled.

The official default ui shader differs from the actual ui shader when compiled, but reverse engineering the actual shader has proven difficult.