Prep the fruit. Dice apples and toss with a little lemon juice. Slice strawberries, halve grapes, and rinse blueberries.
If using banana, wait to slice it until just before serving.
Whip the cream. In a cold bowl, whip the heavy cream to soft peaks. Set aside.
Make the cheesecake base. In another bowl, beat softened cream cheese until smooth. Add Greek yogurt (or sour cream), powdered sugar, vanilla, and a pinch of salt.
Beat until creamy and lump-free.
Fold in the whipped cream. Gently fold the whipped cream into the cheesecake mixture until just combined for a light, mousse-like texture.
Add caramel. Stir in 1/3 to 1/2 cup caramel sauce. Taste and adjust sweetness with a bit more powdered sugar or caramel if you like.
Combine with fruit. Add apples, strawberries, grapes, and blueberries to the bowl. Fold gently to coat the fruit without crushing it.
Add crunch just before serving. Sprinkle in toffee bits and nuts (if using) and fold once or twice.
Reserve a little to sprinkle on top for a pretty finish.
Garnish and serve. Drizzle with extra caramel, top with remaining toffee bits, and add banana slices now if using. Serve chilled.
Make-ahead tip. For best texture, mix the cheesecake base up to 24 hours ahead, store fruit separately, then combine and add crunch right before serving.