Transferring variables between blueprints.

2 things here.

When you spawn it you get a reference to the object. If you have made your own GameState class, extending GameState make a variable on it of the type of your controller. In the place you spawn the controller, get gamestate, cast it toyour type and then set the variable to the new controller you just spawned. For the rest of the level the GameState will now have a reference to the controller. It will reset when the level changes.

It’s an Array yes, but if you only have one instance of the controller then there will only be one item in the Array, so just take the one at index 0. This is hackier, but it will work. The method of storing it on a GameState, GameMode, or GameInstance would be better.