Are expensive shaders less expensive from distance?

The question is above. For example, I have a hi-poly model with assigned bumped specular shader. But when I look at the model from disance I defenetly don't need bump and, actually, don't need specular, so if I change the assigned shader to simple diffuse shader via some script when the camera will be at a certain distance from model, will the scene become more optimized? Is this step reasonable given that the model is hi-poly and that there are lots of textures of 1k and 2k sizes? Or does Unity optimize the performanse itself as it does with trees turning them into billboards form a certain distance?

Mipmaps mean that the textures will be very small at a distance anyway, and pixel shaders take less time the fewer pixels that need to be computed. So when the model isn't taking up much space on the screen because of being off in the distance, the shaders won't be contributing much. You'd probably be better off swapping the high-poly model for a low-poly model, although swapping the materials too wouldn't hurt.

Even with mip-mapping, the large version of the texture would still be in video memory though, right? It’s true that it wouldn’t contribute as much to fill rate, but it would still be a load on VRAM/the GPU bus. So, while the previous answer is correct, it’s not the whole story.

Bottom line: profile your game, figure out where your bottleneck is. Mip-mapping certianly won’t hurt.

AFAIK the only billboarding in Unity is trees that are integrated into the Terrain system, though that wouldn’t stop you from rolling your own billboarding system (if you have Unity Pro, of course. Because render-to-texture is a Pro feature.)