The method iniside describes is probably the best, though instead of tileable textures, I usually employ a single texture atlas, instead, and then model around that. This makes it so that you only have to use one material, but usually costs some material definition.