First, make the banana pudding. Add ½ cup of whole milk and the cornstarch to a small bowl and mix. Set aside.
Add the sugar and egg yolks to a large bowl and whisk until combined. Set aside.
Next, add the remaining milk to a medium-sized saucepan and heat over low heat.
When the milk has started to simmer, it's time to temper the egg yolks. Vigorously whisk ½ cup of the warmed milk into the egg yolks and sugar. Transfer back into the saucepan while whisking. Then, whisk in the milk and cornstarch.
Continue to simmer and whisk the mixture until thickened. About 5-10 minutes.
Remove from the heat and stir in the butter and vanilla extract.
Transfer the mixture into a large bowl and cover with plastic wrap. Press the plastic wrap onto the pudding so that it is touching. This will make it so a film does not form on top of the pudding.
Refrigerate until cold, about 4 hours.
Make the cream cheese whipped cream. Add the cream cheese and heavy cream to a bowl. Using an electric mixer, beat together until soft peaks form. And the vanilla and powdered sugar mix until well combined and stiff peaks start to form. Cover and refrigerate until ready to use.
To build the pudding, prepare your serving dish. Place about 1 cup of Nilla wafers on the bottom of the dish. Then, 1 cup of banana slices. Next, spread about 2 cups of the pudding over the banana slices. Spread about half of the cream cheese whipped cream over the pudding. Continue building until you have used all of the ingredients. Finishing with the remaining Nilla wafers and banana slices.
This can be served immediately or stored for later.