How to Show / Hide a GUI Texture

Hello, I have been making a game, and in the main menu, i have some gui Textures that are padlocks over the buttons to load levels, and i want the GUI textures to show when they’re locked, and hide when they’re unlocked, i have all the variables in place for locking / unlocking the levels, all i need is the script that will hide / show the texture.

Many components can be enabled and/or disabled. For example, you could disable a script so that it stops updating, or you could disable a renderer so that it stops drawing.

Let’s suppose your code has a GUITexture variable named guiTexture.

//turn it on
guiTexture.enabled = true;

//turn it off
guiTexture.enabled = false;

From there, you’ll need something to actually make those calls.

In the specific case you mentioned, you’ll need a script that does something like this pseudocode:

  • For each level icon:
    • Which level does this icon reference?
    • Is that level unlocked?
      • If yes, show the “unlocked” icon
      • Otherwise, show the “locked” icon

I’m assuming you already have a bunch of scripts for picking levels, including icons that know which level they’re for.

Do you have a script that knows which levels are unlocked? If not, there are plenty of tutorials about it. In a nutshell, you could save some simple data using PlayerPrefs.