That sounds like a lot, especially for an open world game where you can see a long distance. You would likely use LODs though, each with 1 or 2 materials instead. So the multi-material one would only be seen up close.
Also sounds like a lot if your system doesn't cull the exteriors away when you're inside a building. You really want to do this for performance improvements.
This is why WoW has switchbacks inside each building, to act as visibility portals, as soon as you go around the corner in the foyer, the exterior is culled completely.
A way around this is to use Atlases. http://wiki.polycount.net/TextureAtlas It's a lot more work on the UV side of things, but it pays off in greatly-reduced draw calls.
Both are for UDK but I bet they could be adapted to work in UE4.
Mip seams depend a lot on the angle you view the surface from, it's going to be a lot worse at glancing angles than it is flat-on. Anisotropic filtering can reduce it a lot.
It looks like your trying to get it to tyke by wrapping the UVs in the shader. That's going to cause issues at the wrap because the relative distance between texture samples compared to screen coords is massive.
So for the fragment that contains the wrap, it's probably grabbing the smallest mip and using that.
To get around that, you could try specifying the map using some custom value that takes the wrap into account, using tex2DLOD or something.
Ultimately though, I don't think you'll get anywhere useful with this technique. It's a pain and it's computationally expensive for the sake it. I wouldn't resort to this unless you're certain that draw calls are hurting your frame rate and that doing this will be the only solution. I suspect that'll never happen.
You might manage just as well with a vertical texture with the 4 textures stacked on top of each other and just cut in edge loops where you need a certain texture to tile vertically.
Replies
Also sounds like a lot if your system doesn't cull the exteriors away when you're inside a building. You really want to do this for performance improvements.
This is why WoW has switchbacks inside each building, to act as visibility portals, as soon as you go around the corner in the foyer, the exterior is culled completely.
A way around this is to use Atlases. http://wiki.polycount.net/TextureAtlas It's a lot more work on the UV side of things, but it pays off in greatly-reduced draw calls.
But you want to see out the windows, so that's out. Depends how good UE4 is at culling.
Tinting is easy, see the wiki links there for examples.
http://oliverm-h.blogspot.com/2013/04/how-to-create-ue3udk-texture-atlases.html
http://udn.epicgames.com/Three/TerrainAdvancedTextures.html#Texture%20Packing:%20Implementing%20large%20texture%20tile%20sets
Both are for UDK but I bet they could be adapted to work in UE4.
Mip seams depend a lot on the angle you view the surface from, it's going to be a lot worse at glancing angles than it is flat-on. Anisotropic filtering can reduce it a lot.
So for the fragment that contains the wrap, it's probably grabbing the smallest mip and using that.
To get around that, you could try specifying the map using some custom value that takes the wrap into account, using tex2DLOD or something.
Ultimately though, I don't think you'll get anywhere useful with this technique. It's a pain and it's computationally expensive for the sake it. I wouldn't resort to this unless you're certain that draw calls are hurting your frame rate and that doing this will be the only solution. I suspect that'll never happen.
You might manage just as well with a vertical texture with the 4 textures stacked on top of each other and just cut in edge loops where you need a certain texture to tile vertically.