How to decide the texture resolution
I wrote about this briefly at the end of my optimization guide: the texture size must be made for the viewing distance that you desire. The closer you get, the more resolution you need, and the further away less.
Judging the distance must be done realistically and objectively by thinking about the distance where
the players will look at your asset / take screenshots in-game. Nobody will zoom in extremely close to see that
stain you added in a window.
Example with an asset I did, a car wash. Realistically, most people will keep the camera at a distance
where you can see most of the asset (Image 1), and not zoomed in very close (Image 2):
Image 1
Image 2
To illustrate this better, I ran some optimization tests in Unreal Engine 5, with the "Required Texture
Resolution" tool to see based on the viewing distance from the camera, what resolution the GPU wants.
Here are 3 cubes which are 8x8x8 meters, with a 1k, 2k, and 4k texture left to right. The camera is placed in
the same spot/distance.
The first cube is Good, the second one is 1X Over, and the third one is 2X Over more resolution than needed, based
on the viewing distance and the size/pixels of my monitor.
Based on the information above, here is an
example with my own asset, the car wash. Ideally, you want to be in the orange-white area depending on the
distance that you decide to make your texture for: