// Seperating Movement and Button inputs into different functions is easier for debugging
void Update ()
{
Movement();
UserInputs();
}
and
// Update is called once per frame
void Update ()
{
}
are conflicting. You can only have one Update() method with the same parameters (in this case none) defined in the class.