# How do i make my person move forward in the direction of the cursor

i am new to the hole shiz bang (codeing)thing and iv watched all the tuts but i want to figure out how to go farward and backward not side ways

## This is one that i’ve used on my top down shooter: attach to the object your wanting to move…

``````	using UnityEngine;
using System.Collections;

public class PlayerController : MonoBehaviour {

public float speed = 12;
public float lookSpeed = 4;

void Start () {}

void Update () {

float x = Input.GetAxis("Horizontal") * Time.smoothDeltaTime * speed;
float y = Input.GetAxis("Vertical") * Time.smoothDeltaTime * speed;
transform.Translate(x,0,y,Space.Self);
}
void FixedUpdate ()
{
// Generate a plane that intersects the transform's position with an upwards normal.
Plane playerPlane = new Plane(Vector3.up, transform.position);

// Generate a ray from the cursor position
Ray ray = Camera.main.ScreenPointToRay (Input.mousePosition);

// Determine the point where the cursor ray intersects the plane.
// This will be the point that the object must look towards to be looking at the mouse.
// Raycasting to a Plane object only gives us a distance, so we'll have to take the distance,
//   then find the point along that ray that meets that distance.  This will be the point
//   to look at.
float hitdist = 0.0f;
// If the ray is parallel to the plane, Raycast will return false.
if (playerPlane.Raycast (ray, out hitdist))
{
// Get the point along the ray that hits the calculated distance.
Vector3 targetPoint = ray.GetPoint(hitdist);

// Determine the target rotation.  This is the rotation if the transform looks at the target point.
Quaternion targetRotation = Quaternion.LookRotation(targetPoint - transform.position);

// Smoothly rotate towards the target point.
transform.rotation = Quaternion.Slerp(transform.rotation, targetRotation, lookSpeed * Time.time);
}
}
}
``````