How control Rigidbody2d using GetAxis with AddForce and angularVelocity (2D)

So I’m new to unity as well as coding; I’ve been stuck with this problem for quite a while.
I’ve been using this standard player controller and it works pretty dandy.

	void FixedUpdate ()
	{

		if(Input.GetKey (KeyCode.W))
			rb.AddForce (transform.up * maxSpeed);

		if (Input.GetKey (KeyCode.A))
			rb.angularVelocity = maxRotation;

		if (Input.GetKey (KeyCode.D))
			rb.angularVelocity = -maxRotation;
	} 

I’m now trying to control my player using a joypad and I’m making an attempt to use GetAxis to smooth out the controls. I want to continue using addforce and angularvelocity as I want my player to continue interacting with other rigidbodies. I get no errors but nothing seems to be moving, and I can’t seem to get it to move.

using UnityEngine;
using System.Collections;

public class Player2Controller : MonoBehaviour {

	public float maxSpeed = 4f;

	public float maxRotation = 100f;

	private Rigidbody2D rb;


	void Start ()
	{
		rb = GetComponent<Rigidbody2D> ();
	}
		
	void FixedUpdate ()
	{
		
		float y = Input.GetAxis ("vertical");

		float x = Input.GetAxis ("horizontal");

		rb.angularVelocity =  x * maxRotation;

		rb.AddForce (transform.up * y * maxSpeed);

	} 
}

I do hope the information given is sufficient and any help would be greatly appreciated! :slight_smile:

I think you need to write name of axis with Uppercase.
Try this:

Vector2 movingVector = new Vector2(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical"));

rb.angularVelocity =  movingVector.x * maxRotation;
rb.AddForce(transform.up * movingVector.y * maxSpeed);