Вам необходимо поместить их обоих в один и тот же скрипт / Update, который отслеживает нажатие кнопок.
public void Update()
{
float xChange = 0;
if(Input.GetKey(rightButton))
xChange ++;
if(Input.GetKey(leftButton))
xChange --;
rb.AddForce(sidewaysforceand * Time.deltaTime * xChange, 0, 0, ForceMode.VelocityChange);
}
Если вы используете кнопки пользовательского интерфейса, вам придется использовать систему маркировки, такую как:
bool rightFlag = false;
bool leftFlag = false;
public void Update()
{
float xChange = 0;
if(rightFlag)
xChange ++;
if(leftFlag)
xChange --;
rb.AddForce(sidewaysforceand * Time.deltaTime * xChange, 0, 0, ForceMode.VelocityChange);
}
public void EnableRightFlag() //put on button down press.
{
rightFlag = true;
}
public void EnableLeftFlag() //put on button down press.
{
leftFlag = true;
}
Тогда вам просто нужно добавить триггер, когда кнопка не нажата, чтобы установить флаги обратно в false.