Whisk together sugar, arrowroot, and salt first, then egg yolks and milk until fully combined.
In a saucepan cook the mixture on medium heat, whisking constantly, until the pudding has completely thickened and large bubbles are forming and popping, about 5-8 minutes. Be sure to scrape sides if needed while whisking.
Once it’s at the desired consistency, remove from heat and immediately pour the cream through a fine mesh strainer into a bowl, using a spatula to push all the pudding out while leaving behind any bits of cooked egg.
While still hot, whisk in the butter and the vanilla extract in until fully combined.
Let the bowl with strained cream cool to room temperature, covered with a piece of plastic wrap directly on the top of the cream. Place in the refrigerator to chill for at least 3 hours or overnight.