Managing art info data
We could end here, but suppose we want to track more data than just the images for each artwork, such as artist, title, description, and so on. First, we'll consider several software design patterns to manage the data, including separate lists, data structures, and scriptable objects. Later, we'll update our ArtworkRig to display the info with each framed artwork.
The first two scenarios are for explanation only. We will actually implement the ScriptableObjects
one last.
Using lists
One approach could be to add more lists to the PopulateArtFrames
script for each of the data fields. For example, if the script had the following:
public Texture[] images; public string[] titles; public string[] artists; public string[] descriptions;
The Inspector
would show the following (I limited the list to four items for brevity):

As you can imagine, this could get very unwieldy. To change Element 3
, for example, you'd have to go to all the lists, which is easily prone to mistakes...