One texture file for different objects

I’m working on a game prototype using Unity 3d and Cinema 4d. I have dozen cubes and several different textures for each side.

I can’t understand how to create one texture file that will be used for different objects. I can make textures and UV’s manually for each cube in Cinema 4d, but I believe there is more efficient way to do this.

Can anybody help me and explain the whole process, step by step?

If you use the “Bake Objects” option in C4D, enable “Single Texture” and make sure that “Keep UVs” is disabled, it’ll generate UVs for every cube and then generate a single texture to cover them all. Keep in mind that if you generate UVs this way, you’ll get a lot of disconnected faces (seams) that could be manuall connected - every seamwill decrease performance in Unity