Thanks for your help, JJK!
This has nothing to do with the template. If you configure your parent/child products correctly and add a 'generic child variant' custom field to your parent products, VM2 should behave the way you want it. (It works for me).
I have done this.
You might check if if all your child products in the backend product list are attached to the parent product as a generic child variant. If your child products are listed seperately in the backend Product List, they will also show up as seperate products in the frontend.
This has not been my experience. All my products show up in the backend products list, child or otherwise, unless I search for "only parent".
Instead, I've noticed that if I attached child products to a category, they show up in the category view. Strangely I also experienced that when I removed the category from them, they'd disapper from the "child products" custom field options in the product view, although I tried again today and it actually seems to be working properly... strange!
To solve your dropdown problem in the product details view, compare your setting to the image attached below.
Thanks, this is 90% of what I was after. I would've preferred not having the parent product's name appear again in the custom field. I'm not afraid of code - can you direct me to the correct file and what "if" statement to use to change the first row to "Select option" or something rather than the parent's product name again? I think it's quite confusing that there's an option in the list that looks like any other option, but if you don't change it (or you select it) the cart button stop working!
Also, is there a way to chagne the button's error message from "Choose a product varia" to something a bit more clear? Again, just point me in the right direction in the code if need be.