Now that we've several tiles and dozens of sculptures loaded at once we need to begin optimization. I've set up Unity's frustrum culling so that only objects the artist is currently looking at are being rendered which has improved performance.
I've also begun using a level of detail (LOD) system to improve performance. This means that every sculpture has three models, each with a different level of detail - high, medium and low. These models are created by reducing the vertices count. Typically a high poly version is just under 100,000 vertices with the low poly model somewhere from 2,000 - 12,000 vertices.
Now as artists approach a sculpture Unity will use the low poly version when it's in the distance, swap in the medium detailed version as they get closer and finally swap in the high poly model when they are up close.
I've also implemented an information plaque that displays information about each statue on the stand below it. Because the sculptures are chosen at runtime, and the plaque is attached to the sculpture stand, it was surprisingly difficult to collect the spawned statues information and apply it to the plaque. The plaque displays the name of a sculpture, the sculptor, year and the gallery or scanner who provided the sculpture for use.