You can set the UV channels with the TextureCoordinate nodes, you can adress specific vertex colors with the vertex color node, and with proper use of add’s and multiplies you can get rather far.
UE4 does not use TANGENT semantic anywhere as far as I know. I did not check myself, but as a wild guess, I think that tangent space is stored in a more optimized way.
If you are sure that you are running out of interpolators, you would need to modify the shaders. Material editor alone won’t cope with that.
However, you could describe the actual goal you are trying to achieve? It is quite common that there is a more accessible solution for majority of tasks.
Unfortunately not. I’m using 4 TextureCoordinates for the UV channels, and the Vertex Colours for the colours. I just need one more float4 through. If I had more UV channels I’d just shove the data in there.
Long story short, all I need to do is get an additional float4 per vertex in the shader. As I said, if I weren’t already using 4 UV channels, then I’d add two more and pass through 2 float2’s. I need those floats through to do some per vertex uv blending. I’m now wondering if I can pack them in with the other UV channels… which may work as long as it doesn’t mind those floats being > 1.
Ok, here’s the solution I went with. From Luos’ comment I went searching for more UV channels. I wasn’t properly using the UV channels on my mesh and bumped it up to 8 UV pairs. That allowed me to have the 4 UV channels I wanted and shove a Vec4 into another 2 UVs. I can then pull that data in the shader.
It’s a pretty round-about way to get data. It’d be really nice to be able to have any amount of custom data per vertex accessible in the shader.