How to use the Screen.width and Screen.height to script GUI text

I can't seem to figure out how to use the Screen.width and Screen.height correctly.

I have the resolution at 4:3, and no matter what, when I build what I am working on, the text shows up in the middle of the field as opposed to the right side of the screen as I intended.

Can anyone help me out with how to script the Screen.width and Screen.height with text I want to display on the screen, like through GUI.label?

function OnGUI(){

    \\These are the two lines that I want to reposition
    GUI.Label(Rect(335, 75, 100, 50), "Player 1: " +scriptStaticVarScoring.playerRed);

    GUI.Label(Rect(335, 125, 100, 50), 
                                     "Player 2: " +scriptStaticVarScoring.playerBlue);


Are you talking about the placement of the label on the screen, or the placement/alignment of text within that label? For the latter, you need to adapt the settings of the associated GUIStyle (check the docs for that, I never used it so far). For the former it is simple once you understand what Rect(x,y,w,h) does. Rect() always refers to the upper left corner of an object, and the coordinates are always relative to the upper left screen corner. So to place the upper left corner of an object at screen coordinates (200,100), use


(with appropriately defined valued for widthOfObject and heightOfObject).

Now if you want to place that same object relative to the upper RIGHT screen corner, for example, you can compute the correct pixel position of the upper left corner of your object with with:


This is analogue for the y coordinate.

If you want the text right justified in the rect you're going to need to pass in a style to the GUI.Label. See: