Character Movement Help

I am trying to make it so when I press WASD I can make a cube move. I was able to code it so the cube moves but there are a lot of problems. I also coded it so I can look around with the mouse. All I need help with is learning how to make a cube move. I know I am probably doing it wrong. I just want to make the cube move and have a camera following the cube, kind of like 3RD person. And when I rotate the mouse it rotates the camera, and the cube.

The fastes way to make a camera follow an object is to make the camera child of that object (in the hierachy simply drag and drop the camera onto the object you want to follow).

Also you can try to add this script:

using UnityEngine;
using System.Collections;

[ExecuteInEditMode()]
public class LookAtPoint : MonoBehaviour
{
    public Vector3 lookAtPoint = Vector3.zero;

    void Update ()
    {
        transform.LookAt (lookAtPoint);
    }
}

Source: Unity-LookAtPoint/Unity-LookAtPoint/LookAtPoint.cs at master · sashcode/Unity-LookAtPoint · GitHub

For the wasd…

public float moveSpeed = 50f;
public float turnSpeed = 150f;
public void Update()
{
    if(Input.GetButton("Vertical"))
    {
        transform.Translate (Vector3.forward * moveSpeed * Input.GetAxis ("Vertical") * Time.deltaTime);
    }
    if(Input.GetButton("Horizontal"))
    {
        transform.Rotate (Vector3.up * turnSpeed * Input.GetAxis ("Horizontal") * Time.deltaTime);
    }
}