[Solved] UI Canvas is in the way in the editor

it’s very annoying the UI Canvas in the way in the scene windows in the editor I can’t move it how can move so it does not overlap is there anyway to move it away?

2 Likes

4 Answers

4

EDIT : Since Unity 2019, you can control the visibility of the gameObject in the scene without changing its state in the Game View. See the documentation page

You simply have to click on the little eye on the left of the desired object in the Hierarchy tab.

Scene visibility


You can hide every gizmo you want using the appropriate drop-down list in the editor :

Uncheck the “Canvas” check box :

52746-canvas.png

Though, you can’t move the canvas away. You can disable it temporarily while you make modifications of your scene, but don’t forget to enable it back when starting the game.

turn off that still see it

Yes, I edited the answer. Since you can't move the canvas, you have two solutions : 1. Desactivating the object and acivating it back before playing 2. Use layers to hide the canvas (same thing here, you will have to enable back the layer) ![alt text][1] Last solution, add a script that activates the canvas in the Awake function. [1]: http://answers.unity3d.com/storage/temp/37981-showhidelayers.png

Kinda old post but you don't have to activate the canvas from the script, hiding it from the layers tab just wont show it in the scene editor but it will still show ingame.

I think the solution with having a canvas right in the working environment is a very poorly executed way to have UI in Unity!

How can I avoid this situation then?

Not to mention at a massive scale to everything else! But there we go... You can only hide it

Perhaps, try using the “screen space - camera” for the canvas’ rendering mode. It’ll put the canvas in front of the camera and scale it down a lot (by adjusting the plane distance)

This is a perfect solution. The canvas gets much much smaller, and you can move it.

I found this very annoying as well. For anyone still getting annoyed by this, here is what I did to get around it.

First disable the canvas component on the canvas game object.
115678-capture.png

This stops the canvas from appearing in both the game and scene view. Next simply enable it again during start. To do this I add the following script to the canvas game object.

public class HUD : MonoBehaviour
{
	void Start()
	{
		GetComponent<Canvas>().enabled = true;
	}
}

It is a workaround, I would be happy to hear there if there is a proper and elegant way to achieve the same thing.