Spray a 9x13-inch baking dish with baking spray. Add cubed brioche bread to the dish in an even layer.
Whisk together eggs, half-and-half, milk, sugar, vanilla, and salt in a large bowl. Pour over the cubed bread, pressing the bread into the custard to soak.
Cover the baking dish with plastic wrap and refrigerate for 1-2 hours so the bread can soak up the custard.
Preheat oven to 350°F.
Remove plastic wrap and bake for 50-60 minutes until golden brown and set in the center.
While the bread pudding is baking, make the caramel sauce by combining 1 cup sugar and water in a medium saucepan over medium heat. Cook, stirring occasionally, until the sugar has completely dissolved.
Increase the heat to medium-high. Bring the sugar mixture to a boil without stirring.
Boil for 5 to 8 minutes until the sugar turns a light amber color. This can happen quickly so stick close to the stove so the sugar syrup doesn't burn.
Once the color of the sugar has darkened to a light amber, turn off the heat and stir in the half-and-half. The mixture will bubble up, so be careful. Add butter, vanilla, and salt, stirring until the butter has melted and everything is combined. If it doesn't combine for some reason, return the mixture to the heat and boil for 1 minute.
Transfer the caramel to a heat-safe jar to cool and thicken before serving over the bread pudding.