Changing label color not showing in Unity free

So I wanted display some coloured squares in my game view as a kind of overlay for some coordinates that I was taking from my scripts, and it appeared to work as intended. Only when I came home from University to my free version of Unity, when I try to run it nothing displays this time around. I can’t find anything that says this method is pro only, can someone shed some light on this or offer an alternative solution? Cheers.

private Texture2D brush;
private int size = 8;
 
void Start()
{
    brush = new Texture2D(size, size);
    CreateTex(Color.green);
}
 
void CreateTex(Color c)
{
    for (int x = 0; x < size; x++)
        for (int y = 0; y < size; y++)
         brush.SetPixel(x, y, c);
    brush.Apply();
}
 
void OnGUI()
{
    foreach (Vector3 v in points)
    {
	    GUI.Label(new Rect(v.x, Screen.height - v.y, size, size), brush);	
    }
}

So I was able to ‘fix’ this.

I was using a Unity pro feature RenderTexture in order to take screenshots within the application, however this was preventing the GUI from showing anything at all, but only in the ‘Standard’ version of Unity.

So I didn’t actually realise the feature was pro only and I used an alternative that just involved Texture2D and ReadPixels etc without including a RenderTexture.

Then the program worked, and as an added bonus the points appear in the screenshots as well and I can turn them on/off as I like.

So in short the code above is all correct it was actually something else conflicting and causing the issue to arise.

Thanks for the help guys!