i encountered one more thing, and i think this is the last one to solve so that i can say i get it!

unfortunately the plugin i am using (UniWebView, for displaying web pages for mobile devices) uses some kind of inset structure to define on what area
it will render, it is defined like this inset(left,top,right,bottom) so if it's defined like this inset(5,5,5,5) it means that it will render to rect that is 5px from edge of the screen (left,top,right,botom). so to get the rect i got from the widget i tried using something like this:
_webView
.insets = new UniWebViewEdgeInsets
((int)rect
.y,
Screen.width - (int)rect.width - (int)rect.x,
(int)rect.y,
Screen.width - (int)rect.width - (int)rect.x);
where rect is defined using widgets dimensions like this:
rect.Set(Screen.width - cam.WorldToScreenPoint(Widget.worldCorners[2]).x,
Screen.height - cam.WorldToScreenPoint(Widget.worldCorners[2]).y,
cam.WorldToScreenPoint(Widget.worldCorners[2]).x - cam.WorldToScreenPoint(Widget.worldCorners[1]).x,
cam.WorldToScreenPoint(Widget.worldCorners[1]).y - cam.WorldToScreenPoint(Widget.worldCorners[0]).y);
this works well if wigder is centered, so insets for top and bottom are the same but i have situation where i need to move widget slightly down to make room
for navigation and in that case i can't get insets for top and bottom right!
i tried using local poisition on the widget,converting it to world coords and subtructing from Widget.worldCorners[0].y but couldn't work it out the proper way.
help!