Canvas ready event?

I’m making some calculations with my UI so it can adapt accordingly to any resolution/ratio and fit some cameras to the viewport based on its canvas normalized position. I had to use the UI elements world position, even the canvas RectTransform.GetWorldCorners, etc.

Thing is that I noticed everything was returning 0 without changing my previously working code. After testing for a while I discovered it was because the canvas wasn’t ready at the moment I was calling those elements.

I’ve worked in Android and I know that at the start of an activity (like a scene in Unity) the views (like canvas) take some time to be measured and more to be drawn. So I guess something similar is happening here and I wanna know if there’s any event that captures that.

At the moment I made it wait some time before making my calculations as a work around, but that’s not a consistent solution.

Thanks to anyone who can give me a hint!

not sure if there’s an event raised when size changes, like kissUI does.
If there was, maybe then you can update any fixed/custom size children’s dimensions. :]

I’m already calling some methods when the screen size changes (I just check the Camera aspect on the update), but that’s not what I need.

When the screen changes Unity takes some time to prepare and render the UI. From what I saw it even takes more than one update cycle in some situations.

I would like to know the exact moment everything is ready.