I’m trying to use transform.Rotate() to constantly rotate a game object in a fast speed, but it has a visible stutter sometimes. Is this the correct way to rotate objects?
Yes, that’s correct - the visible stutter almost certainly comes from your framerate itself. Most often stutters come from performance issues like garbage collection, so it’ll depend a lot on what other code you’ve got running. I recommend looking up how to use Unity’s Profiler window to find out what’s causing your stutter. (Also, keep in mind that you may or may not see the same stutter when you build and run a standalone)
Then, as StarManta recommended, take a look at the profiler.
While running your game in play mode, Unity keeps track of the time used up by all the different functions running. It then offers you a visual overview as well as a pretty detailed breakdown of where ressources are being used. In the graph representation you will probably see some spikes in frametimes. These may be caused by garbage collection (most likely), but also by other scripts, for example a heavy workload only running once a second.
Using the profiler you can quickly find out what’s the problem and then read up on how to fix it. Generally speaking, you dont want any spikes in your frametimes. As long as its stable the game will look fluid. Also, dont rely on the FPS value, as that’s only an average and unstable frametimes can make any game feel stuttery, be it 30 or 1000 FPS.
On beginner projects, 99% of the time there’s an intermittent stutter, it’s garbage collection - beginner projects rarely do the kind of loading or processing that would otherwise cause that kind of stutter, but GC issues can appear in code that looks completely innocuous until after you profile it.