Grease bottom of a 9x13 baking pan.
Gather all the bread you will be using and rip them into tubes Fill the bottom of the baking dish.
Mix milk, half and half eggs, sugar and vanilla up and pour over the top of the bread cubes, making sure to pour evenly.
Cover the pan with foil and store in the refrigerator overnight.
For the topping, cut butter into cubes. Add flour, brown sugar, cinnamon and salt. Store in a ziplock bag in the refrigerator until mornign.
When you're ready to bake, preheat your oven to 350 degrees.
Remove the French toast bake from the refrigerator and sprinkle the topping evenly over the top of it. Make sure butter is evenly dispersed.
Bake with foil removed for 45 min to 1 hour, depending on your oven and how crispy you like the top.
Serve with warmed syrup and fruit if you would like!