# How can I rotate a Object slow?

Hello. I normally use the code transform.Rotate. But in this case it rotates to fast. I set the Speed at 1. I also tried it with /speed. Can someone help me? Thanks.

Hey man, may be I will learn you a function: In many games an object need to move at the same speed through different devices. Imagine a 30 fps device A and a 60 fps device B. If both need to move an object at the speed of 1 unit / frame, device A while move it 30 unit / s and the other 60 unit / s. Actually your object rotate as your frame rate. There is a variable in unity called “Time.deltaTime” (Time is the module) It is the number of second between each frame. (Doc: Time.timeScale)
So what you can do if you want for example 20° each second is a transform.rotate(20f * Time.timeScale, 0f, 0f)

It seems like the previous respondent was a bit too fast when typing the answer. time.timeScale that he multiplies with is a value that determines how fast you want time to progress 1.0 = realtime and 0.5 being 50% speed. I think what he meant to write was transform.rotate(new Vector3(20f * Time.deltaTime, 0f, 0f)) where Time.deltaTime is how many seconds progressed since last frame. So to make sure the speed of your objects rotation does not vary depending on computer speed, always multiply by Time.deltaTime when doing transforms. Also note that 1 is not the minimum value, you can have fractions too. For example transform.rotate(new Vector3(0.01f * Time.deltaTime, 0f, 0f)) would give you a lot slower rotation than using 1.

Make sure your Speed variable is type float, not int. Then when you rotate, remember to multiply the Speed with Time.deltaTime.