In a bowl, mix lukewarm milk (140g) with a pinch of sugar and add the yeast (6g). Let it sit for about 5-10 minutes until it becomes frothy.
In a small saucepan, whisk together flour and milk for Tang Zhong. Cook over medium heat, stirring continuously until it forms a thick, pudding-like consistency. Set aside to cool.
In the bowl of your stand mixer, combine 375g bread flour, 3g salt, 60g sugar (or 30g for savoury), and 6g yeast. Mix briefly to combine.
Pour in the lukewarm milk (140g) and the cooled Tang Zhong. Mix on low speed until the ingredients come together.
With the mixer running, gradually add the butter (50g) in small increments. Allow each addition to incorporate before adding more. Continue to knead until the dough is smooth and elastic.
Place the dough in a lightly oiled bowl, cover it with a clean cloth, and let it rise in a warm place for about 1 hour or until it has doubled in size.
Punch down the risen dough. Divide into three equal parts and and shape each part into a rectangle. Roll each rectangle tightly into a log and place them seam side down in a greased loaf pan.
Cover the loaf pan with a damp cloth and let the dough rise for another 1-2 hours until it reaches the top of the pan.
Preheat your oven to 350°F (175°C) during the last 20 minutes of the second rise.
Bake the Shokupan in the preheated oven for 25-30 minutes or until the top is golden brown, and the bread sounds hollow when tapped.
Allow the Shokupan to cool in the pan for a few minutes, then transfer it to a wire rack to cool completely before slicing.
Slice, toast, or savour your homemade Shokupan as you like! It's perfect for sandwiches, toast, or just on its own.