Gameobject not moving horizontal while rotating.

Hello Guys,
im currently stuck and a littlebit confused, so here my question. i want to move my “rocks” horizontal and rotate around their axis at the same time. This is what i have done. I inheritet my Rocks from an object class. so i will just show the important methods.

This is my Parent/Object:

  protected virtual void Update()
{
  if (!GameManager.instance.GameOver) {
  transform.Translate(Vector3.right * (objectSpeed * Time.deltaTime));
  if (transform.localPosition.x >= resetPosition)
  {
  Vector3 newPos = new Vector3(startPosition, transform.position.y, transform.position.z);
  transform.position = newPos;
  }
  }
}

Here my inherit:

  protected override void Update()
  {
  if (GameManager.instance.ActivePlayer) {
  base.Update();
  //transform.Rotate(Vector3.right, Time.deltaTime * 1000);
  transform.Rotate(Vector3.down, Time.deltaTime * 1000);
  }
  }

the confusing part is that the commented line on override ist somehow working, but its rotating to the wrong side :frowning:

I suspect somehow your model is being imported incorrectly so “up” of the model is facing to the left instead of up.
You say you want to move your rock up (vertically) yet your Translating it using Vector3.Right If this is moving your rock up in world space then somehow your object is spun so its Right is pointing in the direction of the world up.

This would also mean if you spun around the Right facing axis (world up) it will spin as it rises. Almost certainly if your translating it along its Vector3.Right and then rotating it about Vector3.Down it will look like its moving in circle or spiral pattern (because spinning about the Down Axis will turn which way Right axis is pointing).

To spin an object and move it along a straight line you need to spin it about the same axis its moving (to keep that axis “straight”).

Oh im sorry, i want to move my rocks horizontal and rotate, not vertical. Fact is they are already moving horizontal but only with the commented line or only with base.update( then of course it’s not spinning at all)