Get width and height of instantiated prefab Unity2d

Hi, I am trying to get the width of a Gamobject (toggle button, circular in shape) which is created from a prefab.

My reasoning behind this is that there can be multiple toggles placed on the panel (Horizontal layout group attached), but if there are more than 6, the width of each toggle needs to decrease, in order for all to fit.

The goal is to be able to find the updated width of the Toggle so as I can set the height to be the same making a circle, rather then a squashed looking oval.

I have attempted to solve this using the following method, but it returns the height and width of the original toggle prefab (100,100), rather then the dimensions of the instantiated game objects

if(togglePanel.childCount > 6)
            ImageScrollRect.movementType = ScrollRect.MovementType.Elastic;
            ToggleLayout.childControlWidth = true;

            for(int i = 0; i < togglePanel.childCount; i++)
                RectTransform rect32 = (RectTransform)togglePanel.GetChild(i).transform;

                float width11 = rect32.rect.width;
                float height11 = width11;

                togglePanel.GetChild(i).GetComponent<RectTransform>().sizeDelta = new Vector2(width11, height11);

Have you tried to use Vertical Layout Group?
It’s an easy way to updated width of UI object