RVT needs a channel for masks

Float channels are needed to create masks for RVT, but all channels are too restrictive and offer few options.

Base Color and Normal are Vector3, and then Specular and Roughness are effectively Floats that only work on the R channel. These are the minimum elements required to express the material, and all of them have been used. All values ​​are clamped to the 0 to 1 range, so hacks using large values ​​or negative numbers won’t work either.

In this state, the only thing you can use is the Normal B channel, but for some reason the initial value is 1, so you can only create inverted masks. However, if you apply One Minus to this, the normals will be completely destroyed and the reflections will become strange.

The only options left are to go with YCoCg Base, which will impact performance, or to add an extra 2GB to my game and create additional RVT images.

Is there a way to create additional Float channels with minimal performance impact? The only way I can think of right now is to get the Normal B channel to work properly.