So I completed this challenge a bit differently, not being aware of being able to add input to the blueprint for the level.
I instead opted to add an Escape key in the Input section and then gather the relevant menu information inside the PuzzlePlatformCharacter class.
They generally turn out the same, the FClassFinder section in the constructor, setting up the bind action via C++ in the SetupPlayerInputComponent and a loadInGameMenu function that’s bound to that key.
My question becomes… what would the best practice be in the long run?
In Sam’s example it’s nice that you can gather the menu information all together in one place and keep the load menu functions in the same class, but my thought is now you’re also potentially stuck setting up the escape key in blueprint for every level which I’d imagine if you have a fair few levels could end up becoming tedious, but now is also splitting up where the player “input” is defined.