How to pass parameters into blueprint that dynamically builds maze?

I have a blueprint that builds a maze. It works just fine.

But, I want to add this maze blueprint into my level and then have parameters passed to this maze that tell the maze what horizontal/vertical size it should be. (Ideally, my Menu Level will set the desired maze horiz/vert sizes based on what the player chooses for the difficulty and then call my Main Level which contains the maze blueprint.)

I’ve looked at using a custom GameInstance that stores the desired horizontal/vertical size and then let the maze blueprint call the “Get Game Instance” and cast it to my custom “MyGameInstance”, but I learned that the Game Instance is not available in the Construction Script. So, I moved the maze creation to the Event Graph’s “BeginPlay” Event. (Which really sucks because now I can’t see the maze in the viewport or in my Main Level until I play the game.)

Now, it seems like the GameInstance is not available during the BeginPlay Event either because my game crashed everytime I try to run it. If I take out the “Get Game Instance” and the cast to my custom “MyGameInstance”, it runs just fine.

How can I use the GameInstance to pass parameters to the maze blueprint… Or, is there some other way to do this?