2D rotation along the Y-axis produces undesirable results


I am trying to make a 2D game in Unity and I am running into this problem of being unable to rotate a 3D object like you would for a 2D object. Here is my problem:

I am using a cube to house a material which contains my texture. Now, if you flip a 2D object 180 degrees on the Y axis, you can get it to face the opposite direction. But, this does not happen in Unity.

Let’s say my character is facing right. Upon rotating him 180 degrees on the Y-axis, he should be facing left. But in Unity, the texture is on a 3D cube and on the other side of that cube, he is upside-down. So, when I rotate him 180 degrees, he ends up facing the correct way, but upside-down. No combination of transform.rotate changes seem to make him face the other way and avoid being upside-down.

Is there something I am doing wrong? Perhaps a change in the way the material or the geometry works?

Here is the solution. Thanks for the help.

Instead of rendering the texture on the cube, I am now using a plane as suggested. And for the shader, I am using Transparant/Cutout/Soft Edge Unlit.

I guess you could render him on a plane and use a shader that doesn’t do back face culling - or you could just set the X scale to minus whatever it is now. -1 for instance.