Crush the Oreos. Place the cookies in a zip-top bag and crush with a rolling pin until you have fine crumbs with a few small chunks.
You can also pulse in a food processor.
Make the base layer. Reserve about 1/2 cup of crumbs for topping. If you want a firmer crust, mix the remaining crumbs with the melted butter. Spoon a layer of crumbs into the bottom of each cup and press lightly with the back of a spoon.
Whisk the pudding. In a large bowl, whisk instant chocolate pudding mix with cold milk according to package directions.
Add vanilla if using. Whisk for 2 minutes until thickened.
Layer the pudding. Spoon or pipe a generous layer of pudding over the Oreo base, filling the cups about two-thirds full.
Add whipped cream. Top each cup with a cloud of whipped topping or freshly whipped cream. You can use a piping bag for a neat swirl or spoon it on for a rustic look.
Finish with crunch. Sprinkle the reserved Oreo crumbs and a few mini chocolate chips or shaved chocolate over the top.
Chill. Refrigerate for at least 30–45 minutes so the layers set and flavors meld.
The texture improves as it chills.
Serve. Keep chilled until ready to eat, then enjoy straight from the cup with a spoon.