# Working with multiple canvas??

**URL:** https://discussions.unity.com/t/working-with-multiple-canvas/644866
**Category:** UGUI
**Tags:** UGUI
**Created:** [November 3, 2016, 10:52am UTC](https://discussions.unity.com/t/working-with-multiple-canvas/644866 "2016-11-03T10:52:59Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![Tharmine02](https://dub1.discourse-cdn.com/unity/user_avatar/discussions.unity.com/tharmine02/32/173751_2.png) [@Tharmine02](https://discussions.unity.com/u/Tharmine02)
#### Post date: [November 3, 2016, 10:52am UTC](https://discussions.unity.com/t/working-with-multiple-canvas/644866/1 "2016-11-03T10:52:59Z")

</div>

Hi all,

I hope my question will sound trivial because it is driving me crazy.  
When you have multiple canvas in your scene, how to you hide/display the one that are in the way to focus only on the one you are working on? Without enabling/disabling all the others? Can you not just “focus/isolate” on one?

thank you in advance,

regards

Thomas

---

<div class="post-metadata">

### Author: ![SimonDarksideJ](https://dub1.discourse-cdn.com/unity/user_avatar/discussions.unity.com/simondarksidej/32/89515_2.png) [@SimonDarksideJ](https://discussions.unity.com/u/SimonDarksideJ)
#### Post date: [November 5, 2016, 1:20pm UTC](https://discussions.unity.com/t/working-with-multiple-canvas/644866/2 "2016-11-05T13:20:48Z")

</div>

If you need multiple panels for different menu’s, then you don’t need multiple Canvases.  
Check the UI sample on the asset store, which has a multi-panel UI menu system layout to see how best to do this.

> **[Unity Asset Store - The Best Assets for Game Making](https://assetstore.unity.com/)**
>
> Discover the best assets for game making. Choose from our massive catalog of 2D, 3D models, SDKs, templates, and tools to speed up your game development process.

You only need multiple Canvases if you need different scaling for the UI canvas.

---

<div class="post-metadata">

### Author: ![Tharmine02](https://dub1.discourse-cdn.com/unity/user_avatar/discussions.unity.com/tharmine02/32/173751_2.png) [@Tharmine02](https://discussions.unity.com/u/Tharmine02)
#### Post date: [November 10, 2016, 11:51am UTC](https://discussions.unity.com/t/working-with-multiple-canvas/644866/3 "2016-11-10T11:51:15Z")

</div>

> [@SimonDarksideJ](#):
>
> If you need multiple panels for different menu’s, then you don’t need multiple Canvases.  
> Check the UI sample on the asset store, which has a multi-panel UI menu system layout to see how best to do this.  
> [https://www.assetstore.unity3d.com/en/#!/content/25468](https://www.assetstore.unity3d.com/en/#!/content/25468)
> 
> You only need multiple Canvases if you need different scaling for the UI canvas.

ok thanks. So far I was creating one canva for each panel I wanted to display. Is there a downside to this?  
Many thanks

---

<div class="post-metadata">

### Author: ![SimonDarksideJ](https://dub1.discourse-cdn.com/unity/user_avatar/discussions.unity.com/simondarksidej/32/89515_2.png) [@SimonDarksideJ](https://discussions.unity.com/u/SimonDarksideJ)
#### Post date: [November 10, 2016, 11:57am UTC](https://discussions.unity.com/t/working-with-multiple-canvas/644866/4 "2016-11-10T11:57:30Z")

</div>

No real downside that I’m aware of, but a Canvas is a fairly heavy component with a renderer dependancy. Just using empty objects with RectTransforms on the canvas just makes sense to only use what you need without that overhead.

Like I said, the only reason I’ve ever used more that one canvas was to change from SS to WS or to SS-Camera. Or to have a different Canvas Scaler

---

<div class="post-metadata">

### Author: ![Adamcbrz](https://dub1.discourse-cdn.com/unity/user_avatar/discussions.unity.com/adamcbrz/32/372741_2.png) [@Adamcbrz](https://discussions.unity.com/u/Adamcbrz)
#### Post date: [November 10, 2016, 5:31pm UTC](https://discussions.unity.com/t/working-with-multiple-canvas/644866/5 "2016-11-10T17:31:01Z")

</div>

From what I understand canvas have to redraw everything under them when any item needs to be redraw. That means if you have a value that changes frequently but most of your other items don’t change it might make sense to put that item on a separate canvas so they don’t have redraw everything when the high frequency item changes. I worked on a team where we had a sims like ui system. That system had to be broken apart because it cause some performance problems when having everything on the same canvas.

Exception to this rule. If you are doing a menu system that every change to the menu is pretty much a full screen/panel change then doing that all on one canvas will work.

---

<div class="post-metadata">

### Author: ![Tharmine02](https://dub1.discourse-cdn.com/unity/user_avatar/discussions.unity.com/tharmine02/32/173751_2.png) [@Tharmine02](https://discussions.unity.com/u/Tharmine02)
#### Post date: [November 18, 2016, 3:04pm UTC](https://discussions.unity.com/t/working-with-multiple-canvas/644866/6 "2016-11-18T15:04:35Z")

</div>

thank you all for your help

---

<div class="post-metadata">

### Author: ![pacolaf](https://dub1.discourse-cdn.com/unity/user_avatar/discussions.unity.com/pacolaf/32/531158_2.png) [@pacolaf](https://discussions.unity.com/u/pacolaf)
#### Post date: [May 10, 2018, 5:59pm UTC](https://discussions.unity.com/t/working-with-multiple-canvas/644866/7 "2018-05-10T17:59:14Z")

</div>

This is an old topic, but here you have my solution:

- In the editor, set canvas render mode to **World Space** to all your canvas
- Move every canvas to a different position to allow you an easy edition
- In your script Start() function, change the render mode to **Screen Space - Overlay** (or **Screen Space - Camera** ) for every canvas:

```auto
GameObject myCanvas = GameObject.Find("My Canvas");
myCanvas.GetComponent<Canvas>().renderMode = RenderMode.ScreenSpaceOverlay;

```

Of course, you have to show or hide every canvas according to your needs. For example, also in Start() function:

```auto
myCanvas1.SetActive(true);
myCanvas2.SetActive(false);
myCanvas3.SetActive(false);

```

I hope this helps.
