Slider to control object rotation cause Object reference problem

I have a slider and a turret.
I can move the turret with keyboard using a script that has commands like this

transform.Rotate(turret.forward)

Now I want to move the same object using a slider, so I have tried to attach this script to the turret

private var mySlider: UnityEngine.UI.Slider;
var myTurret : Transform;

function Start () {
	mySlider=GameObject.FindGameObjectWithTag("MySliderTag") as UnityEngine.UI.Slider;

}

function Update () {
	if(mySlider != null){
		myTurret.transform.rotation.eulerAngles.z = mySlider.value;
	}
}

Unfortunately doesn’t work, the turet doesn’t move and if I remove the null check non mySlyder I can see the error

*Object reference not set to an instance of an object.*

mySlider is a GameObject you have to get the Component as UI.Slide.

Try this:

private var mySlider: UnityEngine.UI.Slider;
var myTurret : Transform;

function Start () {
	var slider=GameObject.FindGameObjectWithTag("MySliderTag");
	mySlider=slider.GetComponent(UnityEngine.UI.Slider) as UnityEngine.UI.Slider;
}

function Update () {
		myTurret.transform.rotation.eulerAngles.z = mySlider.value;
}

You need to use “GetComponent”, in doing so you won’t need to cast.

mySlider = GameObject.FindGameObjectWithTag("MySliderTag").GetComponent(UnityEngine.UI.Slider);