To make homemade pudding: Whisk sugars, cornstarch, and cocoa in a medium sauce pan. Whisk in milk and place over medium heat. Bring to a boil, whisking often, and once it boils whisk constantly for several minutes, until the mixture thickens. (Note: it won’t get really thick, just thicker, like a thick soup.)
Stir in chocolate chips and butter and whisk until melted. Remove from heat, whisk in vanilla. Transfer to a heat safe bowl.
Cover the top of the pudding with plastic wrap (the plastic wrap should be touching the pudding). Let cool for about 15 minutes at room temp, then chill until it’s cold and firms up, about 4-6 hours.
To assemble pudding: Place pudding in a large bowl. Stir in marshmallows and chopped chocolate covered grahams. Divide among serving dishes and garnish with extra marshmallows, cookie crumbs, and/or graham crackers. Best served day of, or the marshmallows get stale.