Beat the butter, margarine, sugar, and brown sugar together in the mixer bowl until fluffy.
Beat in the egg and vanilla.
Add the flour, pudding mix, baking soda, and salt - slowly stir first and then increase the speed to beat until all ingredients are completely incorporated.
Slowly stir in the chocolate chips.
Fold in ½ of the M&M's.
Remove the beater, cover, and refrigerate overnight. This is very important.
The next day, preheat the oven to 350 degrees.
Start with a cold cookie sheet with each batch to ensure that the cookies bake consistently.
Roll the dough into balls - it will be quite firm.
Place the rolled dough on the baking sheet. Bake the cookies for 9-12 minutes (mine were perfect at 11).
Remove and immediately top each cookie with a few white chocolate chips and additional M&M's before they cool.
Cool the cookies on the baking sheet until they reach room temperature.
Store in an airtight container at room temperature.