Despite having used used Unity on and off for about 5 years, I am still getting used to using it. Over the years, I have been working on a “2.5D” game (think 3D side-scrolling platformer), which is a remake of an old game in 2D.
After spending countless hours importing and placing 3D objects into the first scene, and getting the terrain just right, I decided to try using the “2D” viewing mode (for the first time) to help me get all of the proportions / sizes and placement of everything right.
Unfortunately, upon clicking on the “2D” button, I witnessed Unity’s scene viewport spin the view around, so that I was effectively looking at the back of all my game’s objects, rather than the front.
I then wondered what had gone wrong. Was this a bug in Unity, or a very big mistake on my part?
At first, I jumped back and forth between my usual 3D view from the front, and the 2D view, just to confirm that I wasn’t seeing things. While in 3D viewing mode, I looked at the label underneath the “Scene Gizmo” (XYZ interface in the top right corner). It simply said “Front”, which made sense at the time. So, why was it when I clicked the 2D view mode button, it showed the back of everything? Why did it not simply flatten the 3D view from the front that I had?
By clicking on the cube in the centre of the XYZ gizmo, I noticed that I could switch from Perspective to Orthographic projection mode. This allowed me to see the view that I was trying to get to with the 2D button. Although I could do this, I was still confused. Why couldn’t I do the exact same thing with the 2D button?
I came to the conclusion that I had placed everything around the wrong way. I then decided to try moving everything around 180°, so that everything was facing the correct way. I learned that I could do this by creating another game object at the very top of the scene hierarchy, put everything else in the scene onto the object as children of the object, and then rotated them all around the Y axis, by putting 180 into the object’s Transform Y axis property.
Unfortunately, I discovered that while it rotated almost everything around the correct way, it did not affect the rotation of the terrain. I had to move the terrain to the correct location, and then redo all of the terrain painting from scratch. Further, I found that one of my particle effects had to be fixed up, as it was no longer firing in the correct direction.
So after all of this, I then clicked on the 2D button, and it worked as expected. However, it still left me wondering what the problem was to begin with. Was I that incompetent not to realise from the very beginning what I had done wrong, before spending many hours more working on things?
I clicked on the 2D button again to get back to the 3D view, and took another look at the label underneath the “gizmo”. While facing everything front on, the label now displays the word “Back”, which works against the grain of basic logic. If the 2D view mode works fine now, then why should the word “Back” be displayed, when I am viewing everything from the front in the 3D viewing mode?
Then I thought, “maybe I’m not thinking about this the right way, maybe ‘front’ and ‘back’ means something different”. So then I decided to consult the Unity manual. Looking at the “Scene view navigation” page in the Unity manual, and seeing the orthographic “Front” view in the “BITGEM” example, I noticed that the red X axis was pointing left in the gizmo, instead of right. Yet, after moving everything around in my project to get the 2D mode to work properly, my project’s gizmo had the red X axis pointing to the right, with the word “back” showing.
The ‘Scene view control bar’ page doesn’t really shed any light on the matter, only confirming that the red X axis points right in 2D view mode. The ‘Gameplay in 2D’ page doesn’t help at all, mentioning only Y and Z axis.
With confusion outstanding and considerable time lost (though luckily not a huge amount), here I am.
I wish to request that the viewing direction label be fixed with regards to the “Front” and “Back” views. Specifically, I believe that the “Front” label should be named “Back”, and visa-versa, which would remove confusion and save time for those who wish to use the 2D view mode, especially people who are quite new to using Unity. The alternative would be to change the behaviour of the 2D view mode, so that it faces the “Front” [sic]. However, I suspect that the latter would be a far more controversial change than the former, as it would have the potential to upset projects worldwide.
There may be more that needs to be done, such as making it more obvious to people when they start a new project. There may be other alternatives that I have not thought of, but I will leave these points open to debate. Thanks for taking the time to read this feedback.