Place all purpose flour and white granulated sugar in a saucepan over medium heat. Cook, stirring constantly, for 20 seconds.
⅓ cup all purpose flour, 1 cup white granulated sugar
While whisking constantly, slowly pour in the warm milk.
1 cup warm milk
As the milk heats up, stir constantly to prevent the mixture from forming lumps and sticking to the base of the saucepan. Cook until thick and smooth in texture (see image 3 for texture).
Remove from the heat and cover with plastic wrap (cling wrap) pressing it down onto the surface to prevent a skin from forming.
Allow the mixture to cool entirely at room temperature. For a quicker cooling process, take it off the heat and spread it into a wide, shallow pan. The mixture should reach room temperature within an hour. (See note 3)
After the flour mixture has fully cooled, it should have a thick texture.
Add the butter to a large bowl. Remember that the butter should be soft, but not melty. When you press your finger on the butter, it should leave an indent. However, it still needs to be cool enough to avoid ending up with shiny grease on your fingers.
1 cup salted butter, softened
Beat the butter for about 2 minutes with a handheld or stand mixer for about 2 minutes on medium speed until just creamy.
Gradually add the cooled and thickened flour mixture, one tablespoon at a time, and beat.
Continue incorporating the flour mixture, beating between each addition until you've added it all.
After all the flour mixture has been incorporated, add vanilla extract and salt. Then whip the mixture for 2 to 3 minutes.
1 teaspoon vanilla extract, ¼ teaspoon salt
Now, the mixture should have achieved a light and fluffy consistency .
Keep covered in a cool area of your kitchen or refrigerate until ready to use.