How to apply a constant rotation to an animated sprite

I have a sprite that is made up of about 30 frames which play in a single animation. Whenever this sprite spawns, I want to apply a random rotation to it so that not every sprite has the same orientation.

The problem is that simply setting the rotation in the Start method has no effect, because as soon as the animation begins playing it resets the rotation. I even tried putting the sprite into an empty GameObject and rotating the parent object, but it still resets the rotation of the sprite so that it is always facing up (the sprite in this case actually gets an orientation that is opposite the parent object’s so that it’s upright).

The only thing I’ve found that works is to reset the rotation every frame to what I want it to be, but this seems inefficient. Is there a better way to do this??

have you tried putting it in a empty object. then making an animation, in frame 1 set the rotation on whichever axis to 0, then in frame 30 set the rotation to 360. save it. set it to loop infinitely and put it on the empty. (make sure the empty has a animation component)… you can call the animation through a script whenever necessary too. tell me if it works.