UPDATE to v1.4. March 2018
IMPORTANT:
Regarding poor user reviews. All those reviews were made for one of the previous versions of Texture Atlas Generator that indeed was broken. The new version is completely revamped, simplified and should do exactly the work you expect it to do. There is also previous, legacy script attached (with some minor bug fixes) for people who got accustomed to previous version of Texture Atlas Generator.
Texture Atlas Generator is a tool that generates texture atlases for textures in selected materials and plugs them into those materials. When using the newly created texture atlases Unity can batch draw calls in order to improve performance.
The tool generates atlases with textures that are present in materials selected in Unity's editor. Material's properties like texture's tiling and offset are used to properly sample new textures in shaders.
For proper atlasing, meshes' texture coordinates need to be in [0, 1] interval. Some meshes don't satisfy this condition. That's why Texture Atlas Generator comes with UV wrapper. A model postprocessor that will automatically wrap uvs to the required interval. Meshes whose uvs are to be wrapped need to have phrase "uvwrap" in their names. You can change this behaviour by modifying MeshUVWrapPostProcessor class.