I am making a game and essentially, you can click a button (the scribbles) on the map and it takes you into the level, but after the level is cleared, I want the button to become unclickable on the map and change to a different image. I am trying to use a blueprint in the Game Instance so that it remembers that the level was cleared as you continue the game. Any ideas on how to wire it up?
Use set is enabled(false) on the button or bind it to a bool state ![]()
What Kenslogana said. A Boolean would be better, since you want the game to know which levels have been cleared. Make a Boolean for each level on the map.
If you want to save one last level, consider using an integer variable as well to count how many levels have been cleared. Then, use that integer to keep that final level locked until the other levels are finished. Declare and use that variable in your GameBase blueprint since that can be called from any other BP and have each level map call that integer and add 1 when the level is cleared. Then have the widget check the integer to determine whether or not it should enable the button for the last level.
You’re right on “is Enabled” but the bind is overkill in this example, it runs on tick and will keep checking every frame even though the button changes when the level is cleared, which could be minutes apart.
Another solution if you don’t want to change the style of the button or worry about “Style Disabled” is you can set visibility to “Non Hit-Testable” which will keep the scribble looking exactly the way it is but the button cannot be clicked anymore.
A small performance and memory boost because it’s one less texture you have to save and load and draw, but negligible for small textures, and can be confusing for players to know what’s an option and what’s not. Just another option to consider.


