In the bowl of the stand mixer fitted with a paddle attachment, combine the butter, sugars, egg and vanilla. Beat on medium-high speed until creamed and well combined, about 4 minutes.
Stop the mixer and scrape down the sides of the bowl with a spatula. Add the flour, pudding mix (or cornstarch), baking soda and optional salt. Beat on low speed until just combined, about 1 minute.
Stop the mixer and scrape down the sides of the bowl with a spatula. Add the chocolate chips and 3/4 cup of M&Ms. Beat on low speed until just combined, approximately 30 seconds.
Using a cookie scoop, form  equal sized mounds of dough, roll into balls, and flatten slightly on the top.**
Add about 1 tablespoon M&Ms to the top of each mound of dough. ***
Place cookie dough mounds on a large plate or tray, cover with plastic wrap, and refrigerate/chill for at least 2 hours, up to 5 days. Do not bake with unchilled dough because will bake thinner, flatter and be more prone to spreading.
Preheat oven to 350F, line a baking sheet with a Silpat, [parchment paper], or spray with cooking spray. Place cookie dough balls on baking sheet, spaced at least 2 inches apart, and bake for 11 minutes, or until edges have set and tops are just set, even if slightly undercooked, pale and glossy in the center. Cookies firm up as they cool. Allow cookies to cool on baking sheet for about 10 minutes before serving. ****
Cookies will keep airtight at room temperature for up to 1 week or in the freezer for up to 6 months. Alternatively, unbaked cookie dough can be stored in an airtight container in the refrigerator for up to 5 days, so consider baking only as many cookies as desired at a time and save the remaining dough to be baked in the future when desired.