Roll butter between greaseproof paper into a 15x30cm rectangle, 8mm thick, and chill for two hours.
Mix flour, salt, sugar, yeast, egg, and milk in a bowl until a soft dough forms.
Knead dough on a floured surface for 10 minutes, wrap in clingfilm, and chill for two hours.
Roll dough to a 50x20cm rectangle, cover two-thirds with chilled butter, and fold into three layers.
Chill for 30 minutes, then repeat rolling and folding process three more times before resting overnight.
Fry chopped onions and mushrooms in olive oil until soft then season and cool.
Roll half the dough to 25x35cm, spread filling, top with cheese, and roll into a cylinder.
Cut rolls into 10 slices each and place on a lined baking tray.
Cover and leave to rise for one hour.
Preheat oven to 180°C.
Brush with egg wash, sprinkle with cheese, and bake for 20 minutes until golden.