Is it possible to get the screen rect for a button regardless of its parent?

I am searching for a way to get the screen rect of a button regardless of it’s parent.

Explanation :
In my game, I have a GUI with a pause button
Depending on the configuration, the button can be at different places in the UI.

To control the game I wrote an input manager that use the Input.mousePosition propertie.

When I detect a press, I would like to determine if the pointer is in the rectangle of the pause button to avoid missintepreting an input.

however when I look at the rectransform of the pause button I get a rect with those values :
(x:-100.00, y:-100.00, width:100.00, height:100.00)

It seems to me that all the info I can get from the rectTransform are relatives to its parent.

I can’t find a simple way to get the rect such as


returns true when the mouse is in the button.

It feels like I’ve been searching too far and there might be a super simple answer but I didn’t find any on the web.

Thanks for your time.

Of course after searching for a long time and trying to ask my question as clearly as possible, I immediately found a solution to my problem :s

I’ll post it here if someone has the same problem as me

here is the code that seems to do the trick for me

		Vector2 ScreenSize = new Vector2(Screen.width, Screen.height);
		RectTransform pTransform = (m_pauseButton.transform as RectTransform);
		Rect buttonRect = pTransform.rect;
		float originx = ScreenSize.x * pTransform.anchorMax.x - pTransform.pivot.x * buttonRect.width  + pTransform.anchoredPosition.x;
		float originy = ScreenSize.y * pTransform.anchorMax.y - pTransform.pivot.y * buttonRect.height + pTransform.anchoredPosition.y;

		m_pauseRect = new Rect(originx,originy,buttonRect.width,buttonRect.height);

The resulting rect seems to fit my requierment : being in the same coordinate space as Input.MousePosition.

I need to put some warnings though:

this solution work if the parent of the button take the whole screen (surely there is a way to make it fully generic).

Also it assume the button doesn’t scale with the screen ratio (ie : pTransform.anchorMax == pTransform.anchorMin)

I found this by trial and error and haven’t done extensive testing yet.
I fear it might break on devices with different dpi or devices with different ratio / resolution.