Hi,
Please check the live Demo:
demo.flexiblewebdesign.com/materialmart/vm-categories-2/product-default-layout
Every time you select something, the page must be refreshed via AJAX; so if the child-product is out-of stock, then the "add to cart" button will be replaced by "Notify Me" button. But yours doesn't work like that; because you are using the wrong custom field type.
You are using the "Type: Plugin" custom field, instead you should have used "Type: Multi Variant" custom field.
For instance, this product:
demo.flexiblewebdesign.com/materialmart/vm-categories-2/product-default-layout uses the MultiVariant custom field and its backend settings are:
Custom Field Backend:
Attachment Pasted_Image_10_29_17__10_38_PM.jpg not found
Product Backend:
Attachment Pasted_Image_10_29_17__10_42_PM.jpg not found
Make sure to have the same backend settings as the screenshots above, then everything works just fine in the front-end (just like how things works in our Live Demo page)
Regards