// Update is called once per frame void Update() { if (shouldMove) { Vector2 accellerationVector = transform.up * accelleration; carRigidBody2D.AddForce(accellerationVector * Input.GetAxis(verticalAxisString)); if (carRigidBody2D.velocity.magnitude >= minimumTurningSpeed) { if (Input.GetAxis(driftButtonString) == 1) { carRigidBody2D.angularDrag = originalAngularDrag - driftAngularDragReduction; carRigidBody2D.AddTorque(turningTorqueDuringDrift * -Input.GetAxis(horizontalAxisString)); effectsManager.EnableDriftEffect(); } else { carRigidBody2D.AddTorque(turningTorque * -Input.GetAxis(horizontalAxisString)); effectsManager.DisableDriftEffect(); } } } }