Keep in mind this isn’t great for all implementations, such as when your PlayerController may change during gameplay or across levels or if there’s a variable that would be relevant to all players, not just a specific player. I recommend in these cases, instead of placing your “global” variable on the PlayerController, to place it in the GameInstance.
Create a new GameInstance blueprint and set it to the project’s GameInstance (under Maps & Modes inside Project Settings). Then you call and cast it in your blueprints just like you would do with the PlayerController above.
the advantage to using GameInstance is that it persists for the life of the game. This will allow you to carry variables from say, a Main Menu Options screen over to a loaded level map without having to create, save, and load using a SaveGame blueprint.