this.transform.Rotate(new Vector3 (0f ,1f ,0f), Space.World);
i was expecting to hit play and my character rotation be x=0, y=1, z=0
but the character keep rotating in its place as if i was multipling it by Time.deltaTime
why doesnt stay put on that rotation vector?
Rotate applies a rotation specified with your Vector3 to current rotation value of your game object each time it is called.
So your code will apply rotation of 1f to the current rotation each time it is called in your Update loop.
It is like calling code below each frame:
transform.eulerAngles = transform.eulerAngles + Vector3(0f, 1f, 0f);