This is a note to self really. One of the things I usually mis-remember or forget is where all the different options and settings are, and how they all conspire against you. Generally a good way to keep things organised in Unreal is to edit the Project Settings.
The main things are here in Edit/Project Settings/Maps & Modes
At the top you can set the Game Mode – this is the blueprint that points you to whatever custom player pawn or custom controller setup you want the map to run with.
In the middle you can set the default map for both the Editor and Game, this will be the map that loads when you open the Editor or more importantly when you Package a project, this is the map that will run.
Below that is the Game Instance – here you can make a game instance. If you’re like me, you can set up a bunch of variables in a Game Instance, then they become equivalent to Global Variables that are available to any blueprint. This can be very useful for sending values to other blueprints.
See below.. In my Game Instance (called GlobalOSCGameInstance) I have a float variable called OSCBreathValue. In my Player Pawn Blueprint I want to Get the Value of OSCBreathValue which is being Set in another Blueprint in the level. So to Get it or Set it, I cast to GlobalOSCGameInstance, and I pull off a wire to OSCBreathValue. Here is a pic of it being Get.