Blender for Game Development - Unity3D
I'm not an expert and have never used Unity but from my experience the golden rule of optimization is to reduce the amount of draw calls in the CPU. Each mesh in the scene induces a draw call. You should therefore avoid large number of meshes by merging geometries, doing instancing (https://en.wikipedia.org/wiki/Geometry_instancing) = fancy technique of cloning things and in general learning how to calculate stuff with the GPU (shaders). Other things are reusing materials whenever possible and making sure anything not visible on the player's screen is being drawn. All of these are not related to blender though... the only thing you can do in blender is to go low-poly. AFAIK when it comes to textures they are more of a burden on memory than fps.