Preheat oven to 180°C.
Boil eggs, remove shells and cut into half lengthways.
Fry the bacon. Heat butter in a heavy-based frying pan and add mushrooms.
Fry until mushrooms just turn colour.
Remove from heat.
Heat oil in another heavy-based frying pan and add onions.
Saute onions until translucent.
Cut the bread slices into 3 fingers each.
Arrange a layer of half of the bread on the base of a greased ovenproof dish.
Arrange the eggs, bacon, mushroom and onions over the bread.
Arrange another layer of bread over the mixed layer.
Beat the extra eggs, milk and seasoning together and pour over the bread and bacon layers.
Allow to stand for at least 30 minutes.
Place dish in an oven roasting pan and fill pan with water to cover the dish 2⁄3 up the sides.
Bake in oven for 30 - 35 minutes or until almost set.
Sprinkle the cheese and pepper over and bake for a further 8 - 10 minutes or until completely set and cheese is lightly browned on top.
Cut into portions and serve immediately, sprinkled with fresh herbs.