Dissolve yeast in the water. Dissolve sugar and salt in cold milk. Combine yeast and milk solutions.
Add to flour in mixer. Mix with dough hook on low speed until all ingredients are combined.
Turn out onto counter and knead until smooth to touch, about 2 minutes.
Place back in bowl, cover the bowl with a clean dish towel, and let rest at room temperature 1 hour.
Place butter between 2 pieces of cling wrap and roll with rolling pin into a rectangle.
Roll dough into rectangle and cover ⅔ with the butter. Fold dough into thirds. Roll out and fold into thirds twice more.
Refrigerate for 8 hours or overnight. Roll out dough into long rectangle and cut into 16 triangles.
Cut a small slit into wide end of triangle. Roll up triangles starting from the wide end. For filled croissants place small amount of chocolate chips or almond paste at wide part of triangle before rolling up.
Place on baking sheet a few inches apart.
Bake at 400 degrees F. for 20 minutes or until the croissants are a deep golden brown, do no under bake.
Once out of oven brush with honey butter for shiny finish. Serve warm or at room temperature. Store leftovers in an air-tight container.
Notes
Ensure the butter and milk are very cold. This helps create the flaky layers in the croissants.
Roll the butter to an even thickness and make sure it’s well-incorporated during the folding steps to avoid lumps and ensure even layers.
Don't rush the resting periods. Letting the dough rest properly, especially the overnight chill, is crucial for developing flavor and texture.
Bake until the croissants are deep golden brown. Underbaking will result in a doughy texture rather than a flaky, crisp exterior.