Place the butter or margarine and water in a small saucepan. Bring to a rolling boil over high heat. Stir until the butter is completely melted. Remove from heat and immediately add the flour and salt. Stir constantly until the mixture pulls away from the sides of the pan and begins to form a ball. Let sit until room temperature, about 5 minutes.
Slowly pour the eggs into the pan while stirring constantly. Stir until smooth. Spread into a greased 13×9 casserole dish. Bake at 400 degrees for 25-30 minutes, until puffed and golden brown all over. Cool.
For the caramel apple layer:
In a large skillet or sauce pan, melt the butter with the sugars. Cook for 5 minutes, until thickened. Add the apples and cook for 8-10 minutes, stirring often, until the apples are softened. Remove the apples with a slotted spoon and layer on top of the cream puff base.
Cook the caramel mixture another 3 minutes. Slowly stir in the milk or cream and bring to a slow boil. Let boil until thickened to a creamy caramel consistency that coats the back of a spoon, about 5 more minutes. Remove from heat and let sit for 5 minutes. It should thicken a bit more as it stands. Pour over the apples in the casserole dish. Cool completely.
For the creamy layer:
Combine all ingredients in a mixing bowl and beat until smooth. Spread over the cooled caramel apple layer. Refrigerate at least 2 hours.
For the topping:
Spread the whipped topping on top of the pudding layer. Drizzle with the caramel sauce and sprinkle with pecans. Refrigerate until serving.
Notes
A few notes about this recipe:
It is a bit involved, but SO worth the extra little effort.
If you want, you can skip the homemade caramel for topping the apples and use more of the ice cream topping. Also, you can substitute the jarred topping with homemade. However, the homemade caramel tastes so much better and the apples are infused with all that flavor.
The dessert tastes just as good the next day or two, but it does get a little runny, so it’s presentation might not be as pretty.