Did you know that Pokemon Go was built on Unity? 

The game created such a hoo-ha amongst teens, tweens, basically everyone, that very soon catching a Pokemon became everyone’s favourite pass-time.

According to John Riccitiello the CEO of Unity, more than half the games you play, especially the mobile games are developed in Unity.
The megahits like Temple Run, Assassin’s Creed: Identity, Angry Birds Epic, BattleStar Galactica etc may ring a bell. 

Take it from the rockstar of gaming world,  the CEO of Unity himself;

“People download as many as 2 billion copies of Unity games every month and have played at least one Unity game on more than 3 billion devices. It has numerous market shares spread out across various platforms. More than half the mobile games developed for these platforms are actually built in Unity.

In the words of Riccitiello and I quote, regardless of platforms, more than 60 to 70 percent of everything (built for machines for XR platforms, augmented or virtual reality) are actually developed in Unity.

Before we jump to Unity’s pros and cons, let’s give you a recap.

A Unity Recap

Believe it or not, it’s one of the most cutting-edge and smooth game engines you could find out there. Not only does it offer the tools for developing games, but also lets you test them. Above all, it aids the smooth running of applications in various environments and offers loads of plug-ins. Besides, it gives users the ability to create games and experiences in both 2D and 3D.

Has three parts:

  • A game engine – to let you create, test and play games in varying environments.
  • An application – to put the design or the user interface together with a graphics preview option and control play function.
  • A code editor – called the IDE and it provides a text editor to write code. However, usually a separate text editor is used to avoid inconvenience.

Cool Built-in Features:

  • It has everything to let you create your game from scratch
  • Great tool for prototyping everything from games, to interactive visualizations
  • Let’s you import game assets and write codes
  • Let’s you develop games, animations, AR, VR, UI System, Particle systems etc.
  • You only have to build it once and then you can it deploy anywhere (what’s this? Patience, my young padawan!)

The Light Side Vs. The Dark Side

While it’s true Unity lets you build top notch apps that run smoothly, tech experts like Ian Andrews think otherwise. He claims: 

“Despite providing torrent of benefits, the engine also hands you over several cons you might want to learn about before you start away with unity.”

Below is a list of both its pros and cons. Let’s look at the pros first.

Pros

So What Makes Unity ‘the Master Yoda’ of Gaming Engines?

Quite a number of factors actually.

Build once, deploy whenever and wherever

The greatest advantage of all. How does it do that? Deployment across heterogeneous platforms by simply writing your code in C#!   

But how does C# code runs on Android and iOS considering how Android uses Java and iOS uses Objective-c in native development?

What sorcery is this?

Before I answer that, remember my young padawan; Unity is the Master Yoda of gaming engines. Not as senile as the maestro himself but in terms of power and wisdom, it surpasses all.  It always has a few magic tricks up its sleeves. Mono for instance is the trick that makes cross platform deployment possible. It’s an open source cross-platform .NET compatibility development framework that comes with Unity.

So, simply put, Mono makes it possible to support various deployment platforms. 

Flexible deployment across other platforms rules all else out

We have already discussed that it’s a cross-platform engine and how. Unity’s development environment comes bearing great support for various operating systems. It also features a variety of platforms to build apps to, for instance, around 95 percent of your work can be shared between web, PC, mobile platforms and consoles.

While Unity game engine runs on Windows and OSX it can publish to:

  • Windows (desktop)
  • Mac OS (desktop)
  • Linux desktop
  • iOS
  • Android
  • Xbox
  • Unity Web Player
  • PS VR
  • PS3
  • PS4
  • Google Cardboard
  • Oculus Rift
  • AndroidTV
  • WiiU
  • SamsungTV

Insane graphics for optimum gaming experience

What’s a good game without good graphics? Have you played Assassin’s Creed? Would it still count as fun if the graphics were poor?

One of the greatest and sweetest advantages Unity has to offer are the amazing visual effects. They are a boon when developing a mobile application, plus the visuals scale down to any screen size of smartphones.

When it comes to gaming, graphics is that special development aspect that is imperative to building a high-quality software.

Check out Coco VR, Trinity or Unruly heroes if you’re not easily convinced!

Unity Editor is easy!

Itcis visual which makes it easy to use and not rocket science. Unity aims to simplify the game development process and its editor speaks for it.

Great for rendering 2D and 3D scenes

It’s ideal for game development, especially effective for rendering 2D scenes. You can also use it to render 3D images. The quality offered is splendid compared to other apps

The awesome built-in analytics

A good reason to why should you opt for Unity (3D) is its built-in analytics. You can easily locate these in the editor. These analytics help provide crucial insights into your game, data that you can use to tweak gameplay and optimize experience for the players, your end users. To squeeze the most out of the monetization efforts you invest in your game, Unity Analytics is vital.

Unity is strength!

When it comes to teamwork, Unity is a must (yes, the pun was very much intended). With Unity Teams – a great feature and benefit – you and your teams can work at full tilt. Its advanced features simplify the workflow and let you collaborate.

Great documentation

Its community of experienced developers and documentation is your best support system when it comes to understanding development. The documentation is so detailed that it lets you crack and understand solutions without trouble and initiate the right actions during game development.  It saves you from googling solutions or skimming through other platforms to look for assistance since pretty much everything is provided in the documentation.

No-code game creation

You can create game apps in a drag and drop setting which is highly gratifying. Yes, it is possible to build a game application in Unity without having to write code. While it doesn’t require writing codes most projects ask for programming chops. Being a Unity user you can use Boo, C#, or JavaScript as they share a similar syntax as that of Python. As mentioned earlier, the development environment of Unity basically runs on Mono, but it itself is written in C++.

Asset store to save your time

It has a cool asset store that lets you download game assets, ready-made solutions and functional extensions etc. It’s the effort of a community of developers trying to help each other and help you out. From skeletal scripts to extensions to sprint through the development lifecycle, it has whatever you are looking for depending on your game development process. The store has a kit of 12,000 asset packages like editor extensions, textures and materials, 3D models, sound effects and music, and offers online services.

Still skeptical?

Cons

Whatever has a light side has a dark side!

Let’s take a look at some of the proposed cons by people who have used Unity.

Does not allow you to load your work from a template or foundation

Yeap, you have to start from scratch. Anything at all you could have added through a template.. You have to create from scratch.

Licensing is another annoyance that you will often encounter

Perhaps the most annoying factor. The subscription fees are too high thus making it too expensive specifically for the freelance developers out there. You can only enjoy optimized performance and graphical improvements by paying a whopping amount for these expensive licenses which kind of bums you out.

The ancient Mono

The Mono has long grown old. It’s outdated and often creates hurdles for developers especially once the projects reach a definite size.

Lags on world editing

It lags a bit behind compared to other tools like Unreal when it comes to editing ‘world’ with terrain and placement tools. Basically, when it comes to a big game with big open worlds, you will want to be prepared for lack of assets availability and be prepared to do a lot more work on your own.

In the End It’s a Love-Hate Story

In the end, whatever development engine you opt for, there will always be a light side and a dark side. Unity isn’t necessarily bad in something or too good at another. It all boils down to your requirements and demands of the engine. Moreover, it is better to test the waters before you make a judgement. 

As far as game development is concerned, the force is strong with Unity. It is an excellent platform and highly recommended for developers, especially those who want to jump start on game development. To help you get started there are numerous tutorials out there to familiarize with development process on Unity. Make sure to check them out before you start.