uGUI - Empty GameObjects vs Canvas

I just started using the new GUI and I was wondering what was better-- Nesting canvases, or nesting Empty GOs (with the RectTransform). I read that you can nest canvases, even on non-UI GameObjects, but for some reason events don’t register if I go further than 2-deep on a UI nest which prompted the change.

Thanks for any insight!

I always use empty GameObjects. Based purely on the fact that unneeded components generally cost in terms of performance.

Occasionally I will use multiple canvases if the GUI elements are unrelated and it makes sense to keep them separate.

I never use nested canvases. I can’t see any benefit from nesting.

Typical use case for nesting Canvas is to reduce the overhead of rebuilding the UI mesh after an ui element is changed.

If you change any element’s transform or scale and so on, will trigger a whole mesh rebuild for the whole canvas, which costs time. So if your canvas contains frequent changing element, it would be better to nest it in a canvas which has minimal elements to reduce the overhead.