1In a medium saucepan, combine the sugar, cornstarch, and salt.
Gradually whisk in the milk until the mixture is smooth.
Place the saucepan over medium heat and cook, stirring constantly, until the mixture thickens and comes to a boil.
Boil for 1 minute, then remove from heat.
In a small bowl, beat the egg yolks. Gradually whisk in about 1/2 cup of the hot milk mixture to temper the yolks.
Return the egg yolk mixture to the saucepan, whisking constantly.
Place the saucepan back on the heat and cook for an additional 2 minutes, stirring constantly.
Remove from heat and stir in the butter and vanilla extract until fully incorporated.
Pour the pudding into individual serving dishes and cover with plastic wrap, pressing it directly onto the surface to prevent a skin from forming.
Refrigerate for at least 2 hours before serving.