Can't set GUI.matrix...

Hi, Im trying to make my GUI resolution independent for certain low screen resolution.

Here is my code:

public void GUIMatrix()
    Fraction res = new Fraction((long)Screen.width, (long)Screen.height);

    float width_ratio;
    float height_ratio;

    Fraction.ReduceFraction(ref res);

    if (Screen.width < 1300 && Screen.height < 1000)
        if ((res.Numerator / res.Denominator) < 1.55) // Not widescreen
            width_ratio = 1024f;
            height_ratio = 768f;
        else // Widescreen
            width_ratio = 1280f;
            height_ratio = 800f;

        width_ratio = (float) Screen.width;
        height_ratio =(float) Screen.height;


    GUI.matrix = Matrix4x4.TRS(, Quaternion.identity, new Vector3((1.0f * Screen.width)/width_ratio, (1.0f * Screen.height)/height_ratio, 1f));


The function is called OnGUI the first time, but when I press play in the editor I receive the following error:

NullReferenceException: Object reference not set to an instance of an object UnityEngine.GUI.set_matrix (Matrix4x4 value) (at E:/BuildAgent/work/68355d6e5d19d587/Runtime/Export/Generated/GUI.cs:64)

I really don't know what produces the issue... Anyone can help??



I was calling the function OnGUI() and Update(), and it can obly be called OnGUI().