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.
Attach the Clothing Extra Pattern component to it.
Enter the ID of the mesh object submmitted above to the Item ID field.
Select or drag in the maps for the textures that change from one version to the next. 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 maps that are specific to that version.
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.