@the-minh Thanks for figuring this out! I'm using the Narrative theme. I tried all the steps from @vietbq1989 including your additional steps. The swatches show up with the proper variants, however image and price doesn't update when I click on either option.
I figured it out, I didn't have jquery in my code. Added the following code before </head> on my theme.liquid file.
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> </head>