Hi I copy the exactly same script and it's not working, it shows me this message Assets/Scripts/SimplePlatformControler.cs(48,112): error CS1729: The type `UnityEngine.Vector2' does not contain a constructor that takes `1' arguments, can help me please

void FixedUpdate()
{
float h = Input.GetAxis (“Horizontal”);

	anim.SetFloat ("Speed", Mathf.Abs (h));
	
	if (h * rb2d.velocity.x < maxSpeed)
		rb2d.AddForce (Vector2.right * h * moveForce);
	
	if (Mathf.Abs (rb2d.velocity.x) > maxSpeed)
		rb2d.velocity = new Vector2 (Mathf.Sign (rb2d.velocity.x) * maxSpeed * rb2d.velocity.y);

The Vector2 on line 11 should have a comma instead of a asterisk:

void FixedUpdate()
{
	float h = Input.GetAxis ("Horizontal");
	
	anim.SetFloat ("Speed", Mathf.Abs (h));
	
	if (h * rb2d.velocity.x < maxSpeed)
		rb2d.AddForce (Vector2.right * h * moveForce);
	
	if (Mathf.Abs (rb2d.velocity.x) > maxSpeed)
		rb2d.velocity = new Vector2 (Mathf.Sign (rb2d.velocity.x) * maxSpeed, rb2d.velocity.y);

here is the full code from the total for that class:

using UnityEngine;
using System.Collections;

public class SimplePlatformController : MonoBehaviour {

    [HideInInspector] public bool facingRight = true;
    [HideInInspector] public bool jump = false;
    public float moveForce = 365f;
    public float maxSpeed = 5f;
    public float jumpForce = 1000f;
    public Transform groundCheck;


    private bool grounded = false;
    private Animator anim;
    private Rigidbody2D rb2d;


    // Use this for initialization
    void Awake () 
    {
        anim = GetComponent<Animator>();
        rb2d = GetComponent<Rigidbody2D>();
    }
    
    // Update is called once per frame
    void Update () 
    {
        grounded = Physics2D.Linecast(transform.position, groundCheck.position, 1 << LayerMask.NameToLayer("Ground"));

        if (Input.GetButtonDown("Jump") && grounded)
        {
            jump = true;
        }
    }

    void FixedUpdate()
    {
        float h = Input.GetAxis("Horizontal");

        anim.SetFloat("Speed", Mathf.Abs(h));

        if (h * rb2d.velocity.x < maxSpeed)
            rb2d.AddForce(Vector2.right * h * moveForce);

        if (Mathf.Abs (rb2d.velocity.x) > maxSpeed)
            rb2d.velocity = new Vector2(Mathf.Sign (rb2d.velocity.x) * maxSpeed, rb2d.velocity.y);

        if (h > 0 && !facingRight)
            Flip ();
        else if (h < 0 && facingRight)
            Flip ();

        if (jump)
        {
            anim.SetTrigger("Jump");
            rb2d.AddForce(new Vector2(0f, jumpForce));
            jump = false;
        }
    }


    void Flip()
    {
        facingRight = !facingRight;
        Vector3 theScale = transform.localScale;
        theScale.x *= -1;
        transform.localScale = theScale;
    }
}

Thank you @Landern , I didn’t notice that, I made the corretions and it works