GameInstance is an object that persists through levels (IE when you load another level, it doesn’t get destroyed and you can keep non-pointer variables such as bool and int).
You specify what class of Game Instance you want in your project settings.
You can create your own Game Instance class using the “New Blueprint Asset” tab and opening up the list of objects you have there or directly typing “Game Instance”.