I want to move my gameobject on z axis. I have a problem with my script. Please help! C#

Hello everyone… I have a drawer script… Actually it was door script. I tried to change it for open/close drawer. I use this script with another Interact script (i’ts working i tried) . This is my script:

using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class Drawer : MonoBehaviour {

	public bool open = false;

	public float speed = 2f;

	private AudioSource audioSource;
	public AudioClip openingSound;
	public AudioClip lockedDrawerSound;

	public bool isLocked = false;

	public GameObject lockedText;
	public float textTime = 4f;
	public Transform target;


	void Start()
	{
		audioSource = GetComponent<AudioSource> ();
		lockedText.SetActive (false);

	}

	public void ChangeDrawerState()
	{
		if (isLocked != true) {
			open = !open;

			if (audioSource != null) {
				audioSource.PlayOneShot (openingSound);
			}
		}
		else
		{
			StartCoroutine(LockedDrawer());
			lockedText.SetActive (true);
		}

	}

	IEnumerator LockedDrawer()
	{
		audioSource.PlayOneShot (lockedDrawerSound);
		yield return new WaitForSeconds (textTime);
		lockedText.SetActive (false);

	}

	void Update ()
	{
		if(open)
		{
			float step = speed * Time.deltaTime;
			transform.position = Vector3.MoveTowards(transform.position, target.position, step);
		}
		else
		{
			float step = speed * Time.deltaTime;
			target.position = Vector3.MoveTowards(target.position, transform.position, step);
		}
	}
}

there is no error but it’s not opening or closing drawer too… What should i do? What is wrong in this script? i am not good at this “Vector3” and “transform” things… Please help me :slight_smile: Thanks

@mesutcankaptan On line 64 you have target.position try changing that to transform.position