Scale Car Speedometer with Screen Size (made by Andeeee)

I find a great Car Speedometer prefab on the Unity 3D forum, made by the administrator, Andeeee.

The thread URL:

It works great (thanks to Andeeee), but it will not resize automatically if the screen size changes.

On the forum thread, a guy posted a code to do this, but the needle disappears.

The original code:

How to scale the speedometer automatically if the screen size changes?

the answer acctuially is:

var dialTex: Texture2D;
var needleTex: Texture2D;
var dialPos: Vector2;
var topSpeed: float;
var stopAngle: float;
var topSpeedAngle: float;
var speed: float;

dialPos.x = 0;

dialPos.y = Screen.height - dialTex.height;

function OnGUI() {
	GUI.DrawTexture(Rect(dialPos.x, dialPos.y, dialTex.width, dialTex.height), dialTex);
	var centre = Vector2(dialPos.x + dialTex.width / 2, dialPos.y + dialTex.height / 2);
	var savedMatrix = GUI.matrix;
	var speedFraction = speed / topSpeed;
	var needleAngle = Mathf.Lerp(stopAngle, topSpeedAngle, speedFraction);
	GUIUtility.RotateAroundPivot(needleAngle, centre);
	GUI.DrawTexture(Rect(centre.x, centre.y - needleTex.height / 2, needleTex.width, needleTex.height), needleTex);
	GUI.matrix = savedMatrix;
function Update() {
      speed = Vector3.Dot(rigidbody.velocity, transform.forward);
    function ForwardSpeed() {

  return Vector3.Dot(rigidbody.velocity, transform.forward);


thx Mander.