Preheat oven to 300 degrees F. Line a 9×13″ pan with parchment paper, or spray really well with non-stick cooking spray.
For the Shortbread Crust:
In a large bowl, use a pastry blender to combine the butter, sugar, flour, and vanilla until the mixture comes together. Press the shortbread dough into the pan.
Bake for 28-35 minutes or until the crust is very lightly golden. Remove from oven and allow to cool completely.
For the Caramel:
Combine all of the ingredients in a medium saucepan over medium heat.
Maintain the heat at medium and bring mixture to a rolling boil, stirring often.
Continue to cook, stirring constantly until the mixture reaches the soft ball stage, about 15-20 minutes).
I test the "doneness" of the caramels using the ice water method: Stick several ice cubes in a cup and add cold water. Drop a spoonful of caramel into the ice water. If you're able to clump the caramel sauce together in your hands to form a very soft ball, then it's ready. When the caramel starts to turn golden brown, I do the ice water test every few minutes until I find that it's ready, just to make sure I don't overcook it.
Once it reaches soft ball stage, remove from heat and pour the warm caramel over the cooled shortbread crust. Allow to cool for a few minutes, then refrigerate for at least 2 hours, or overnight.
For the chocolate:
Add the butter and chocolate to a bowl and use a double boiler (or your microwave at low power, 30 second intervals, stirring in between) to melt the chocolate until smooth.
Pour melted chocolate over the set up caramel and smooth into an even layer. Refrigerate until the chocolate is set.
Store in the fridge, covered, for up to 1 week.