Firstly, line a 9in (20cm) square tin with non-stick baking paper, make sure you have excess baking paper coming up over the sides of the tin to make it easier to lift your bake out later. Preheat your oven to around 160C Fan (180C).
Cream together your softened butter and caster sugar using an electric hand whisk until light and fluffy (you can do this by hand it will just take longer!).
Once combined, add in your gluten free plain flour and xanthan gum (if using). Mix together once more. Use your hands to bring the dough together into a ball. It will be a little crumbly but only slightly - its shortbread so it's not a problem!
Press your dough into your pre-prepared tin. Push it right into the corners and try to make it nice and evenly flat. Prick the top all over with a fork and place in the oven for 20-22 minutes until slightly golden on top. Put to one side and allow to cool.
To make your caramel, place all your caramel ingredients into a saucepan on a low/medium heat. Allow the butter to melt and the sugar to dissolve. Mix well to ensure it doesn't stick to the bottom and is combined.
Turn the heat up so the mixture starts to bubble a little. Keep stirring continuously for 5-8 minutes, the mixture should have thickened and also developed into a darker golden colour.
Pour the caramel carefully and evenly over the shortbread base and place in the fridge for about 2 hours to set.
Once your caramel is set, melt your milk and white chocolate in separate bowls. Pour the milk chocolate over the caramel, spreading it to the sides. Drizzle over the white chocolate and drag a skewer through it to make a pattern. Place in the fridge to set for another hour or so.
Remove from the tin (I leave it out for about 20 minutes before slicing to warm up a little or else he chocolate can be hard to cut), cut into slices using a warm knife (this helps the top not crack) and enjoy!