• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
5
Question by mengkheang · Aug 25, 2015 at 01:56 PM · unity 5editor

[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?

alt text

screen-shot.png (26.5 kB)
Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

4 Replies

· Add your reply
  • Sort: 
avatar image
6
Best Answer

Answer by Hellium · Aug 25, 2015 at 01:57 PM

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 :

Canvas gizmo

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.


canvas.png (12.9 kB)
Comment
Add comment · Show 3 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image mengkheang · Aug 25, 2015 at 02:00 PM 0
Share

turn off that still see it

avatar image Hellium · Aug 25, 2015 at 02:10 PM 4
Share

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

Last solution, add a script that activates the canvas in the Awake function.

avatar image iTheGamer · Mar 03, 2018 at 09:37 PM 1
Share

$$anonymous$$inda 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.

avatar image
4

Answer by Fritsl · Apr 11, 2017 at 06:24 AM

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

Comment
Add comment · Show 3 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image error17191 · Jun 01, 2017 at 02:44 PM 0
Share

How can I avoid this situation then?

avatar image andyz · Apr 25, 2018 at 08:23 AM 0
Share

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

avatar image dee7800 · Apr 04, 2020 at 05:42 PM 0
Share

I agree. this is the sloppiest part of Unity.
i can think of many solution to handle the canvas more cleanly.

Hellium's comment about hiding it under layers it the best ways to currently go.

dont get your hopes up for changes. it will have to come from the private and then purchased by unity similarly as textmeshpro was. They will purchase it to get pro subscribers to renew as the utility will be removed from the store and the only access will be through updated version of unity. unity has its focus on data collection as a top priority since about unity 5 and doubling down in 2019 with the hub. Californians can disrupt their bad behavior by leveraging their data law to ask for copies of all data and then follow up by asking for deletions. the more holes you punch in the data the more difficult the data is to manage and make use of, in the end such activity turns it into a "biased" dataset which is bad for the person selling data, and thus inturn good for your privacy.

avatar image
3

Answer by Twinklier · Apr 19, 2018 at 03:18 AM

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)

Comment
Add comment · Show 1 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Matjulski · Oct 27, 2018 at 03:22 PM 0
Share

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

avatar image
3

Answer by abczac123 · Apr 25, 2018 at 12:15 AM

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. alt text

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.


capture.png (26.9 kB)
Comment
Add comment · Show 1 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

The best place to ask and answer questions about development with Unity.

To help users navigate the site we have posted a site navigation guide.

If you are a new user to Unity Answers, check out our FAQ for more information.

Make sure to check out our Knowledge Base for commonly asked Unity questions.

If you are a moderator, see our Moderator Guidelines page.

We are making improvements to UA, see the list of changes.



Follow this Question

Answers Answers and Comments

13 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Debug Editor crashes (Possible sound related ???) 3 Answers

Unity HUB can't able to detect manually downloaded Unity Version 0 Answers

Add prefabs to hierarchy without game running? 1 Answer

Vertical camera set for Mobile? 0 Answers

PostprocessBuildPlayer wont start on Unity 5.1.1f1, Mac 1 Answer

  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges