Why when I use Time.deltaTime, it slows down my rotation

I’m trying to rotate a 2D sprite I have smoothly, I get what angle it should be and store it in temp then I use Quaternion.RotateTowards() to rotate towards what I want its new angle to be. When I make the last value just a normal float it rotates perfectly, however when I multiply it by Time.deltaTime it makes it move really slow. How can I fix this so I can still use Time.deltaTime for its benefits?

if (transform.rotation != temp)
{
    transform.rotation = Quaternion.RotateTowards(transform.rotation, temp, rotationSpeed * Time.deltaTime);
}

temp is just what I want its new rotation to be.

First off, let me just say your code is fine. You need to increase your rotation speed, as it is now in terms of degreesPerSecond, not degreesPerUpdate.

Now in case you don’t quite understand what Time.deltaTime is used for, allow me to explain:

Any compounding change in a value every update needs to take Time.deltaTime into account. This allows for an object going 5 units per UPDATE to now go 5 units per SECOND. The reason this is necessary is because Updates can potentially lag, causing the time between update 1 and 2 to not equal the time between update 2 and 3. This makes our object move faster on faster computers. This we do not want. Thus, we convert to SECONDS, which alleviates this issue.

Now it appears in your issue that you want your object to Rotate towards a particular vector, with a max speed of rotationSpeed. This looks good, but since you’re applying this every update (I assume), you need to take into account Time.deltaTime, as you have done.

If you don’t want to change your variable to a larger number, for whatever reason, you can simply multiply your value by 0.02 (or some such number) once, then use the decreased number in the above calculation. This basically is converting to what your Time.deltaTime would be at 50fps.