void OnGUI() { GUI.skin = skin; scale.x = Screen.width / originalWidth; // calculate hor scale scale.y = Screen.height / originalHeight; // calculate vert scale scale.z = 1; var svMat = GUI.matrix; // save current matrix // substitute matrix - only scale is altered from standard GUI.matrix = Matrix4x4.TRS(Vector3.zero, Quaternion.identity, scale); if (GUI.Button(new Rect(buttonsX, buttonsY, buttonsSizeX, buttonsSizeY), "Previous")) { effectScript.previousEffect(); getEffectNames(); } if (GUI.Button(new Rect(buttonsX + buttonsDistance, buttonsY, buttonsSizeX, buttonsSizeY), "Next")) { effectScript.nextEffect(); getEffectNames(); } GUI.Label(new Rect(labelX, labelY, labelSizeX, labelSizeY), projectileParticleName + "\n" + impactParticleName + "\n\n" + "Click to fire a missile!"); //GUI.Label(new Rect(labelX, labelY, labelSizeX, labelSizeY), "Current effects:" + "\n\n" + projectileParticleName + "\n" + impactParticleName + "\n\n" + "Click to fire"); GUI.matrix = svMat; // restore matrix }