Why I'm Using Unity2D For My Next Game

And my experience with it so far

If you didn’t know, I previously developed a mobile game using Corona SDK. Over the course of that time, I fell in love with Corona SDK. It was more or less intuitive for me (Lua is the easiest thing in the world), it was free, it had excellent documentation, and it worked well. While I enjoyed the development experience, I decided to use Unity for my upcoming game. I had a few reasons, which I’ll share in a moment. I will also share what it’s been like using Unity so far.

Reasons why I decided to give Unity a try

Reason 1: Unity is more developed

While using Corona SDK felt very natural to me, it also lacked a certain polish. I found that getting things to work in Corona was trivial, but a lot of times getting them to look good was much more difficult. To be fair, that probabaly had something to do with my lack of art experience or understanding of the scaling system used by Corona. Still, the whole process felt somewhat unnatural. Additionally, Unity is much more widely used, meaning that finding resources is easier (although in that respect Corona does an excellent job as well) and that it is more applicable in a job setting (if I ever need that).

Reason 2: Less limited

Corona is great for 2D games. However, it about stops there. While they technically have support for 2.5D, it’s really not what Corona is meant for. Unity, on the other hand has support for 3D, VR, and AR games. I don’t have any experience with 3D modeling at all, but I want to learn eventually (maybe I’ll use Unreal someday, but I want to get comfortable with Unity first).

Reason 3: Peer pressure

Last summer my friend and I both started game development, and we wanted to make a game together. However, we couldn’t agree on which engine to use. I wanted to use Corona (I was very die-hard about it at the time), but he wanted to use Unity. In the end, I told him I would finish Isaac (which I had already started by this point), then I would join him in using Unity. Now that Isaac is at a point where it requires minimal maintenance, it was time for me to keep my word.

What using Unity had been like so far

I’ve only been using Unity for about four days now, but I have already learned a bunch. I’ll admit, on the first day I was terrified when I saw the Unity Editor interface (especially since I had previously been using Corona, which is basically all done in code). However, after walking through a few sections of the Unity manual, I quickly got up to speed. It took a lot of reading at first (“What’s a GameObject?”, “What is done by scripting and what is done in the editor?”, etc.), but after understanding the basic concepts it was pretty easy to work with. By the end of the day, I had set up the background for my game and had basic player movement done.

After that, I set up obstacles that the player would have to dodge and a reset function. I have already developed a pretty good feel for how to do everything I will need to finish the actual gameplay. After that I have to implement things like the menus, music, etc. I haven’t tried out scene management in Unity yet, but hopefully it will be as easy as it was in Corona.

As a side note, I want to make this game more aesthetically pleasing than Isaac was. Based on feedback from my friends, I am already doing much better. Here’s a screenshot of gameplay. Keep in mind, the game is still in alpha, so it will probably look a bit different by the time I’m done. I found it very easy to import my custom assets and attach scripts to them. I didn’t have any prior experience with C#, but since it is syntactically similar to C++ and there are plenty of code examples online, it was not difficult to do what I needed.

Another thing I like about Unity is the community. Every question I have had so far about Unity has already been asked. The same could not be said about Corona. While they have excellent forums, I got tired of always having to explain game details to people just so I could find a solution. With Unity, I don’t have this problem because, like I said, all the questions had been asked. Additionally, there is a tutorial for almost anything imaginable.

In conclusion, I decided to experiment with Unity because it is more developed than Corona, it has more options for when I want to expand my games beyond the second dimension, and I told my friend I would. While it has a bit of a learning curve, a few hours of focus was enough to get me comfortable with the Unity Editor and I am enjoying it so far.

Want more Semi-Structured Thoughts? Subscribe here.

comments powered by Disqus