Preheat oven to 325 degrees.
Trim the crust off both loaves of bread and cut into 1-inch slices. Place the slices onto 2 cookie sheets, then spread the softened butter over the tops of all the slices. In a small bowl, combine 1/2 cup sugar and the cinnamon. Sprinkle a generous amount of the mixture over all the slices. Reserve any remaining cinnamon sugar, which you'll add to the custard mixture later.
Place the cookie sheets into the preheated oven and bake for about 10 minutes or until the bottom of the slices are golden brown. You should switch the two cookie sheets about halfway through the baking time to ensure even browning. Remove from the oven, and once the bread has cooled, cut into 1-inch chunks.
Next, combine the ingredients for the custard. In a very large bowl, whisk together the whole eggs and the egg yolks until well combined. Pour in the half and half, the remaining 1 cup sugar and any leftover cinnamon sugar mixture. Add the vanilla and whisk until all the ingredients are thoroughly mixed.
Scoop in the toasted bread cubes, figs, and both the chocolates. Gently fold the mixture until all the bread is saturated and the rest of the ingredients are well distributed.
Butter the bottom and sides of a 13 X 9-inch baking dish. Pour the bread pudding mixture into the dish and let sit for 30 minutes until the bread has absorbed all the custard. Press down the bread cubes several times during this period to make sure that the custard is being evenly absorbed.
Place the 13 X 9 pan inside of a large roasting pan to create a water bath. Place the two pans on a rack set in the middle of the oven. Carefully add enough hot water to the roasting pan to come half way up the 13 X 9 pan. Gently push the rack into place and bake for 45 to 55 minutes or until well browned. The top will be set, but the middle will still have some give. Carefully remove the pans from the oven. Set the bread pudding on a rack to cool slightly before serving. The bread pudding is best served warm. Garnish with powdered sugar.