In a saucepan, combine sugar, cornstarch, and salt. Gradually whisk in milk until smooth.
Cook over medium heat, stirring constantly, until the mixture thickens and comes to a boil. Boil for 1 minute, then remove from heat.
Stir in butter and vanilla extract until the butter is melted and the mixture is smooth.
Pour the pudding into a bowl and cover with plastic wrap, pressing it directly onto the surface to prevent a skin from forming. Let it cool to room temperature, then refrigerate until chilled.