In a medium-sized bowl, combine the graham cracker crumbs, white granulated sugar, and the melted butter until the crumbs are moistened completely. If you find that the crumbs aren't coming together, melt another 2-3 tbsp of salted butter and then add, mixing until they stick together well. See notes.
Take out two tablespoons of the graham crumb mixture and set aside to use as a topping later.
Press the rest of the graham crumb mixture into an even layer in the bottom of a 9 x 13 pan.
Place the pan in the oven and bake the bottom crust for 10 minutes.
Remove and cool completely while preparing the other layers.
Beat the softened cream cheese and icing sugar together until completely smooth.
Fold in half of the whipped topping until blended in.
Spread the cream cheese mixture over the cooled crust carefully, making sure not to pull up any crumbs into the layer while spreading it out.
Place the contents of the two pudding packages into a large bowl and add in the 3 cups of milk. ( yes it will say four on the package, we are making it thicker than usual for the dessert.
Spread the chocolate pudding carefully over the cream cheese layer, trying not to mix the two.
Take the remaining whipped topping and spread over top of the pudding layer.
Sprinkle the whipped topping with the reserved graham crumbs.
Chill in the fridge for 2 hours, then slice and serve.
Notes
If your cream cheese isn't really soft, it will be lumpy and won't mix in properly.
I find that different brands of graham crumbs absorb more butter than others, so you can add more butter if yours seems dry. A 1/2 cup butter is the standard ratio for 2 cups crumbs, but sometimes I find I have to add more to get it to stick together.
You can sub in lower fat ingredients if you want eg, low-fat cool whip, pudding mix and cream cheese all will work. The consistency will be slightly different however.