Mix wheat starch (or cornstarch/tapioca starch), powdered sugar, melted butter and condensed milk until well combined. Add the eggs. Lightly beat until fully incorporated.
Pour the mixture into a saucepan. Cook over low heat. Once the mixture starts to solidify at the bottom of the pan, stir and fold constantly with a flexible spatula.
When the mixture becomes evenly solid, transfer it to a bowl. It should hold in shape but not too dry (please refer to the video below for the desired consistency).
Lay a piece of cling film tightly over the cooked filling. Leave to cool completely then put into the fridge to firm up further.
Prepare the skin
While waiting for the filling to cool, prepare the skin. Put glutinous rice flour, regular rice flour, wheat starch (or cornstarch/tapioca starch) and powdered sugar into a bowl. Pour in milk. Mix until smooth. Add condensed milk and oil. Stir to combine.
Pour the mixture into a deep plate, then cover it with another plate. Cook it using one of these methods: [Option 1] In a microwave for 4 minutes on high power; [Option 2] In a steamer for 20 minutes over medium-high heat (see note 3).
By then the mixture should have turned solid. Use a flexible spatula to scrape it off and transfer to another plate to speed up cooling (see note 4).
When it’s cool enough to touch, combine and knead it in your hands until it becomes smooth (you’ll need to wear food-safe gloves to prevent sticking). Wrap it with cling film if not used immediately.
Color the skin (optional)
Sprinkle matcha powder or purple sweet potato powder over the cooked dough. Knead to distribute the powder until the color becomes even. For the entire dough this recipe makes, you’d need about ½ teaspoon of powder.
Toast the dusting flour
In a pan, toast glutinous rice flour over low heat for about 4 minutes. Transfer out to cool for later use.
Shape the mooncakes
Take the filling out and knead in your hands briefly to make it smoother. Divide it into 8 equal pieces and roll each into a ball.
Also, shape the skin into 8 equal balls. Flatten one piece into a round wrapper. Place a filling ball in the middle. Gently push the wrapper upwards to tightly cover the filling. Seal at the top.
Roll the assembled ball in the toasted glutinous rice flour. Rub off any excess flour leaving just a very thin layer.
Put the ball into a mooncake mold. Place the mold, with the opening facing down, onto a lightly dusted surface. Press the springy handle then lift up the mold. Push the handle again to release the mooncake (see note 5).
Store
In the fridge: Store them in air-tight containers in the fridge and consume within 72 hours.
In the freezer: Lay them in a single layer to freeze. Once completely frozen, transfer them into air-tight containers/bags. Store in the freezer for up to 1 month.
Serve
They’re best when consumed right after assembly. The skin will harden over time.
To soften, you can [Option 1]: Lightly wet them and microwave them in a plate/bowl covered with cling film. Run on high power for 15 seconds. Check the softness and cook longer (10 seconds at a time) until softened. [Option 2]: Steam them for 2 minutes. Check the softness. Cook a little longer as needed.
Video
Notes
1. Please be aware that regular wheat starch contains a very small amount of gluten. To make this treat gluten-free, use cornstarch/tapioca starch or special wheat starch that's clearly labeled as gluten-free.2. You can replace 2 tablespoons (45g) of condensed milk with ¼ cup (40g) of full-fat milk powder (this ingredient was included in the previous version of my recipe).3. If you’re to double the quantity of the recipe, microwave the skin mixture in two batches. If steaming, increase the cooking time to 30 minutes.4. It’s perfectly normal to see some oil separated from the dough after cooking. Remember to knead it into the dough.5. Dust the mooncake mold before shaping if your mooncakes don't slide off easily.