Why isn`t my 2D AddTorque working?

Hello I have this C# script attached to player in Fixed Update:

rigidbody2D.AddTorque(Input.GetAxis ("Horizontal") * 5f);

It just won`t work. AddForce works and everything else in that script just not this.

What I have tried so far:

if(Input.GetButton("Horizontal"))
     rigidbody2D.AddTorque(5f);

Even this won`t work in Update without any key check:

rigidbody2D.AddTorque(5f);

Yes script is attached, Yes object has Rigidbody2D. As I said, AddForce works, just torque not.
Is Kinematic and Fixed angle are Checked OFF.

Please help I am getting hopeless.

There's two possible reasons I can think of off the top of my head: 1: The rigidbody2D is kinematic. Then physics (such as torque) won't be applied to it 2: The rigidbody2D is has fixed angle turned on. In that case, it won't be rotated by torque

–

Nope, both are checked OFF.

–

2 Answers

2

THE SOLUTION:

2D addTorque is bugged.

When you do this:

public float rotationSpeed; //And now you assaign it in inspector
void FixedUpdate()
{
     rigidbody2D.AddTorque(Input.GetAxis ("Horizontal") * rotationSpeed);
}

It wont work. Because its bugged. But when you don`t assaign it in the inspector, it works fine.

void FixedUpdate()
{
     float rotationSpeed = 5.0f; 
     rigidbody2D.AddTorque(Input.GetAxis ("Horizontal") * rotationSpeed);
}

This works. At least for me.

Had the exact same problem and solution. Thanks so much for posting! (You would think the people over at Unity would have fixed something like this by now...)

–

I still have this problem, Unity 2020.1. How should I fix it, so I can change the value from the inspector? Hard coding a value works, just like you wrote here, but I don't think it's an ideal solution :)

–

Maybe the value calculated with " Input.GetAxis (“Horizontal”) * 5f " is too small for the mass of the object, try a very large one.

Also call WakeUp after adding the torque:

No I think 2d add torque is a bit bugged. But I solved my problem. Ty.

–

Mind sharing HOW you solved your problem, Wrymnn?

–