So hi before you comment something please be aware that I am new in Unity. So I’m Using Unity 5.x
I would like to ask how do I hide a Canvas? It has a RawImage inside

I tried this
GameObject.Find( “Canvas” ).GetComponent().enabled = hide;
but it doesn’t work. Hope anyone can answer this question thanks!
GameObject.Find("Canvas").SetActive(false);
- to disable the whole “Canvas” GameObject, though I really don’t recommend using the Find() method too much. To start with, you can set the canvas to inactive this way, but you can’t activate it again using the same method because Find() only returns active objects in the scene.
It’s far better to make a public GameObject reference on whatever script you’re using to enable/disable the canvas (called “myCanvas” or something), and then drag the Canvas over into that slot in the inspector. That way, you can just use the reference to SetActive(true/false) all day long, no problems, and you won’t have to iterate over all of the active objects in the scene in order to find it whenever you want to use it.
You could also use:
GameObject.Find("Canvas").GetComponent<Canvas>().enabled = false;
- to only disable the canvas’ display, but I’m honestly not sure what kind of effect this has, since the canvas would still have a raycaster and possibly active sub-canvasses still enabled…
Another way is too use a Canvas Group component.
With it you can control the transparency making it invisible, and you can also enable/disable input with the interactable toggle.