Hm, this is one of these points where i don’t know WHERE to put it. You could make a variable inside your LevelScriptActor, or LevelBlueprint if you aren’t using c++. If a player collects a coin, you could run a function inside this LevelBlueprint that increments the coint counter and after that, checks if a given maximum coint value is reached. After that you could show a UMG Widget (HUD) where a button lets the player continue to the next level.
But it could be that you might place this inside the GameState, rather than the LevelBlueprint :X hmpf.but in general you just create a variable where you add 1 if the player collects a coin and a variable that you set to a maximum value. If the value is reached, you either directly open the next level, or use the UMG like i said above.