Unity - How to make 2D Compass?

Any idea?

On simple way is to use Transform.LookAt(). Rotations using LookAt() can flip the item being rotated, so you want to make the needle two-sided or turning off culling in the shader used for the needle. If this is a 2D needle in a 3D environment, you can keep the needle from angling upward by editing the LookAt point before calling LookAt(). For example, if your compass was on the XZ plane, you would make the ‘Y’ value of the LookAt() point equal the ‘Y’ value of the transform of the compass.