Set the pivot origin of a square sprite?

Hi there,
Intermediate programmer but new to Unity.

I am trying to make a simple 2D clock. I am using 2D ObjectSpritesSquare objects as the hands. When I rotate the hands, with code or in the editor, they rotate about the center of the object. Makes sense, but also feel like it would make sense to simply change the rotate origin, like you can in HTML/CSS. From my limited research it seems like you need to use the Sprite Editor to change the pivot origin. However, since these are default sprites, I won’t have access to the Sprite Editor for these Sprites and would either need to make custom Sprites or embed these Sprites inside a parent component and do something tricky there.

Is there really no straightforward way to change the pivot origin of one of these components such that it can rotate about one of its ends? And, as a result, do I really need to go about this some roundabout way like making an empty parent and rotating that? Otherwise, what’s the best way to go about this?

Thanks so much for reading.

You’re right—by default, Unity’s basic sprites (like the square) pivot from the center. The simplest way to rotate from one end is to create an empty GameObject, place it at the desired pivot point, and make the sprite a child of it. Then (Read More), rotate the parent object.

Alternatively, if you create your own sprite, you can change the pivot directly in the Sprite Editor. But for default shapes, the empty parent method is usually the easiest and most flexible solution.