Mix warm milk (I microwave for about 20 seconds; don't make it hot, just warm), yeast and sugar in a small bowl and let it sit while you add the rest of the ingredients to a bowl.
In a large mixing bowl or bowl of your stand mixer, add flour, egg, cold milk, salt and butter. Pour in yeast mixture. Mix until fully incorporated either kneading by hand or with the dough hook. If dough doesn't come together, add a tiny bit of milk at a time until dough comes together. If dough is super sticky, add small amounts of flour and knead/mix until it's not too sticky. Ideally the dough will be fairly stiff but well hydrated.
Remove the dough from the bowl, grease the bowl, place dough back into the bowl and set in a warm place to rise for about an hour.
After the dough has risen an hour, punch the dough down and let it rise for another two hours or until it has doubled in size.
After the dough has risen two hours, shape into the type of bread you want. Make it into two loaves, two dozen buns, or a dozen buns on a greased baking sheet and a loaf of bread in a greased loaf pan. Let the dough rise again, about 30-45 minutes or until the loaves are about two inches higher than the sides of your pan or the buns have almost doubled in size.
Preheat oven to 375° and bake. Bread loaves will take about 20-25 minutes and buns about 15 minutes. Bake until golden on the top. Baking time will vary depending on your oven, so watch closely. Brush the tops of the buns or loaves with additional butter if you desire.