Keyboard rotating - left is stopping object

Hi,

when I rotate right during moving forward, it will do both - moving and rotate (my track will be a circle), but when I rotate left, it will do only rotation, my movement speed is 0 (my track is point of rotation).

For moving I use parts of Character Controller from Standard Assets (Character Controller, Character Motor, FPSInput Controller)

and I have this easy script for rotating player with keyboard:

void Update()
    {
        float speed = 100f;

        if (Input.GetButton("left"))
        {
            gameObject.transform.Rotate(-transform.TransformDirection(Vector3.up), Time.deltaTime * speed);
        }
        
        if (Input.GetButton("right"))
        {
            gameObject.transform.Rotate(transform.TransformDirection(Vector3.up), Time.deltaTime * speed);
        }
}

Buttons are correctly preset in Edit->Project Settings → Input
left positive button is q and right positive button is e

Instead of doing “-transform” try doing -speed at the end of the function and remove the - from your transform.