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?
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.
You only need multiple Canvases if you need different scaling for the UI canvas.
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
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.