there are some tips about the performance in a game, there is much information on the issue and no system is infallible and definitive, the whole key is moderation and balance.
Lightmapping in excess can increase the size of your project unnecessarily, you can consume a lot of memory if too many lightmaps.
combine textures in excess can cause overstep the maximum allowed by the graphics card, or affect the quality of textures on very large objects.
Combine meshes must be done before running the game for it to be sacrificed for the Occlusion static that can separate batch vertices and go hiding parts of the meshes existing be drawn. This is especially difficult in procedurally generated scenes.
to create gameobjects in excess is bad so they are empty. because unity allocates a memory space for each GameObject.
so the trick is to maintain a balance in every aspect and keep well guarded memory, CPU and GPU.
use as few materials as possible: this is a difficult task to be done manually. the idea is to use combinations of few materials. eg steel rails for a close, is the same for the steel bars to a window or under the seats of a bus. and to achieve this you must make a texture atlas. so you can make textures for various types of metals or various types of wood, leather, rocks, foliage, etc.