In a large bowl, combine the vanilla pudding mix with milk. Whisk until smooth, and let it sit for about 5 minutes to thicken.
Carefully fold in the whipped topping into the pudding mixture until well combined.
In a 9×13 inch baking dish, arrange a layer of graham crackers on the bottom.
Spread half of the pudding mixture over the graham crackers, smoothing it out evenly.
Sprinkle the diced apples evenly over the pudding layer.
Top the apples with another layer of the pudding mixture, ensuring it’s evenly spread.
Add one last layer of graham crackers on top.
Cover the dish with plastic wrap and refrigerate for at least 4 hours, or overnight, to let the flavors meld.
Before serving, drizzle caramel sauce over the top and garnish with additional chopped apples if desired.