To submit a range of items based on a single clothing mesh but with varied materials and textures, follow the steps on the Importing and Uploading Clothing; BUT leave "Keep Material Always" unticked.
When you click the Prepare button you will see the materials removed.
Submit the item and you will see an ID is assigned to the item;
Create an empty game object in your project.
This component applies to any furniture item also.
Attach the Clothing Extra Pattern component to it.
Enter the ID of the mesh object submitted above to the Item ID field.
The default settings allow for one material per item. If you need more than one material per item change the materials index from 0 to how many additional ones you need for that item.
Select or drag in the materials for the base item. For example, if all your different versions make use of the same normal or height maps, you do not need to put them into the Extra Pattern component, they will get that information from the master pattern. If a map does change from one version to the next (a leather boot versus a metallic one, for example), then select or drag in the materials that are specific to that version in the element material slot/s.
Shader path - (do not touch this setting)
It is worth mentioning that clothing variations will inherit the Product Name, Description, and Price from the Parent Clothing Item.
Add the virtual good script and submit.
See here for more on the Virtual Goods script.
For multiple variations you can duplicate and modify this object in the project folder (ctrl + d), though do make sure to clear out the Resume ID if the item you are duplicating has already been uploaded to the server.
Please note that if you duplicate a virtual good that has already been submitted and has an ID, you need to wipe the ID in the Virtual Good script and change the product name before resubmitting as a new item.