Assets/Scripts/PlayerController.cs(32,49): error CS0126: An object of a type convertible to `float' is required for the return statement

Can someone please tell me what this means?

using UnityEngine;
using System.Collections;

[RequireComponent(typeof(PlayerPhysics))]
public class PlayerController : MonoBehaviour {


	public float speed = 8;
	public float acceleration = 12;

	private float currentSpeed;
	private float targetSpeed;
	private Vector2 amountToMove;

	private PlayerPhysics playerphysics;

	// Use this for initialization
	void Start () { 
		playerPhysics = GetComponent<PlayerPhysics>();

	
	}
	
	// Update is called once per frame
	void Update () {
		targetSpeed = Input.GetAxisRaw ("Horizontal") * speed;
		currentSpeed = IncrementTowards (currentSpeed, targetSpeed, acceleration);
	}

	private float IncrementTowards(float n, float target, float speed) {
		if (n == target) {
						return; // this is the line it says
				} else {
						float dir = Mathf.Sign (target - n);
						n += Time.deltaTime * dir;
						return (dir == Mathf.Sign (target - n)) ? n : target;
				}
		}
}

You are missing a ‘;’ on line 15. I imagine that your error was on line 18. When you see an error that doesn’t make sense, the previous code line in the file is often the culprit.