Product variation

Looking for a product variation plugin for my website where an image is main “product” to be printed on product as is candle, badge, photo, etc. I would like have one page with the image where customer could choose the product to print the image on. Each product (candle, badge, photo, etc) has different variables which should update based on product (candle, badge, photo, etc) selection.

Is there such plugin existing. Was not successful to find it yet.

Thank you for help